当前位置: 首页 > 面试题库 >

在angularjs应用程序中包含Tripadvisor小部件

燕照
2023-03-14
问题内容

嗨,我是angularjs的新手。我想向我的angularjs应用添加一个tripadvisor小部件。小部件代码是这样的:

<div id="TA_cdsratingsonlynarrow791" class="TA_cdsratingsonlynarrow">
    <ul id="iyuRVZr65vDT" class="TA_links 7KxSJIXjY">
        <li id="1CBynVB" class="pCniB1AS">
            <a target="_blank" href="http://www.tripadvisor.com/">
                <img src="http://www.tripadvisor.com/img/cdsi/img2/branding/tripadvisor_logo_transp_340x80-18034-2.png" alt="TripAdvisor" /></a>
        </li>
    </ul>
</div>
<script src="http://www.jscache.com/wejs?wtype=cdsratingsonlynarrow&amp;uniq=791&amp;locationId=2227230&amp;lang=en_US&amp;border=true"></script>

这是我的问题:它没有从我的angularjs应用程序的底部加载脚本。


问题答案:

因此,不幸的是,基于大量搜索,没有任何方法可以使用纯角度进行此操作。在脚本标签上使用“ ng-include”,基于模板的指令甚至“ ng-
src”都可以下载脚本,但默认情况下它们不会运行。

由于我猜您不想修改旅行顾问代码,因此我能找到的最佳选择是将jQuery“ getScript”称为:

$.getScript("//www.tripadvisor.com/WidgetEmbed-cdsratingsonlynarrow?amp;uniq=791&amp;lang=en_US&amp;border=true&amp;locationId=2227230");

我将其简化为一条类似于以下内容的指令:

app.directive("widgit", function ($sce, $timeout) {
  return {
    link: function (scope, element, attrs) {
      scope.$watch("attrs.widgit", function () {
        $.getScript(scope[attrs.widgit].script);
        element.append(angular.element(scope[attrs.widgit].widgit));
      });
    }
  };
});

如果您想查看此工作原理,请查看以下插件:
http

://plnkr.co/edit/QmxgcPujnjtqUgECeLC3?p=preview

最后一个真正重要的事情是旅行顾问提供的脚本实际上只是调用了另一个脚本标签。根据我的判断,您不能直接使用此脚本-
相反,您必须手动将该脚本标记跟随到实际值。换一种说法:

  • 不要使用: -//www.jscache.com/wejs?wtype=cdsratingsonlynarrow&uniq=791&locationId=2227230&lang=zh_CN&border=true
  • 而是: -//www.tripadvisor.com/WidgetEmbed-cdsratingsonlynarrow?amp;uniq=791&border=true&lang=en_US&locationId=2227230

总而言之,我认为这应该为您提供所需的东西。祝你好运!

更多细节

因此,根据后续操作,我向示例添加了路线,并再次使用ng-
view重现了该问题。这里的基本问题仍然是,加载视图后,旅行顾问代码无法运行。本质上,对前一个所做的所有工作就是添加以下几行代码(在代码呈现之后):

if (window.taValidate) {
  window.taValidate();
}

在此之后,您最终得到的是以下可用的插件:http
://plnkr.co/edit/fqQXnx0uyckuVkxOZq6n?p=preview 。



 类似资料:
  • 我已经和这件事斗争了一天多,在SO和其他地方读了很多帖子,但我仍然有问题。 我需要在一个自包含的JavaFX应用程序包中包含我的应用程序图标。我使用的是JDK1.8.0_45及其包含的JavaFX包。我正在使用Maven构建.exe,除了我不能包含我的图标外,它都运行得很好。 下面是我的pom.xml: 使图标出现在标题栏中的是javapackager部署步骤的参数。这一行告诉inno安装程序使用

  • 问题内容: 我有一个Ionic应用程序,我想将节点模块angular-base64包含在我的控制器中,甚至包装在angular服务中,等等。 哪个安装了包含文件的文件夹。因此,文件的完整路径为。 但是,当我尝试像这样在我的一个控制器中使用该模块时: 我不知道我在说什么。我是否需要做其他事情才能使它起作用?也许我的东西? 问题答案: 接受的答案对于 Ionic V2 不再正确,并且已从默认安装中删除

  • 我是Java开发的新手,这里有一个问题:我生成了web应用程序 ,然后我添加了文件夹和简单的文件。通过命令在my localhost:8080/manager中,我可以看到我的web应用程序,但是我如何在其中添加我的jar文件呢?

  • 5.10.2.应用程序小部件 但是谁会关心我们的数据呢?当然有,比如小部件(App Widget),也就是挂在主屏幕上显示天气之类的小东西。我们将在这里新建一个小部件,通过Content Provider读取最新消息并显示在主屏幕上。

  • 问题内容: 我在主布局文件中有这个 我的目录结构中有header.html部分模板。 如何在我的应用程序中包含此模板?我认为angular在处理完控制器后会自动包含模板,但是它不起作用。 标头节点应替换为此文件的内容。 问题答案: 包含来自外部文件的模板/ html片段的一种方法是使用指令(doc)。 要么

  • 问题内容: 我的项目目录结构如下(我认为这很标准): 我将py.test用于我的测试框架,并且希望能够在目录中运行我的测试时运行。在我尝试在测试中使用(例如)导入应用程序代码之前,这确实可行。那时,我收到错误“没有名为mypkg的模块”。经过一些调查,似乎使用测试文件的目录运行而 不是从中运行目录的情况下运行测试。 为了解决此问题,我向目录中添加了一个文件,其中包含以下代码: 这似乎可行,但这是确