【问题标题】:Can we load particular external java script files to particular div我们可以将特定的外部 javascript 文件加载到特定的 div
【发布时间】:2014-10-25 07:47:35
【问题描述】:

我的 html 文件中有两个 div,我正在使用两个外部 javascript 文件。但问题是当我同时使用这两个 js 文件时,我没有获得所需的功能。所以我想限制 js 的使用文件到特定的 div

例如:div1 应该只使用 js1 文件,而 div2 应该只使用 js2 文件,这样就不会发生冲突,并且我可以获得所需的功能。

我正在制作一个使用大量小部件的 Web 应用程序,这些小部件正在从数据库中加载。有一个管理面板,管理员可以在其中添加小部件。我正在从数据库中获取所有小部件的代码同样的 page.so 将来可能会发生在添加很多小部件和相关的 js 文件后,它们会发生冲突并创建问题。所以我想限制对某些小部件的使用

【问题讨论】:

  • 您在控制台中遇到了 Wt 错误??
  • 有很多方法可以使用 JavaScript 来只影响某个 div 的内容。也许发布您的代码,有人可以在这里看到最相关的内容。
  • 我已经回答了你实际提出的问题,但我相当肯定,如果你告诉我们更多关于你的问题的信息,有一个更好的方法可以采取,而不是试图将 JavaScript 限制为特定的 div .
  • 你的javascript是什么?
  • 为什么不告诉我们您想要达到的目标? meta.stackexchange.com/questions/66377/what-is-the-xy-problem

标签: javascript html


【解决方案1】:

我不确定您使用的是 jquery 还是纯 javascript。

如果是jquery,那么你可以使用jquery noconflict。 为 div1 和 div2 创建单独的别名以使用 jquery

    <script>

        var div1Alias = $.noConflict();
        var div2Alias = div1Alias.noConflict();
        jQuery(document).ready(function(){
             alert(div1Alias( "#div1" ).html());
             alert(div2Alias( "#div2" ).html());
        });
    </script>

http://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/ How do I implement JQuery.noConflict() ?

【讨论】:

    【解决方案2】:

    不,你说的是不可能的。但是您可以做的是使用 diff 范围作为 diff javascripts。
    如果是你自己写的js文件
    1.然后只需将所有变量更改为全局变量的属性。
    2.不要依赖窗口变量
    3. 如果您使用 DOM 操作,使用两个 div 通用的类名/标签名/属性值,请更改它们并更改 div 上的相应值。以便您可以单独访问它们。

    如果它们是流行的 js 库之一,例如 jquery/_js/backbone 使用提供的默认无冲突选项来加载单独的版本,然后在两个单独的 div 上单独使用它们。

    【讨论】:

      【解决方案3】:

      在一个页面(浏览上下文)中,只有一个 JavaScript 环境。要获得您所指的那种隔离,您必须使用 iframe 或类似名称创建单独的浏览上下文。

      【讨论】:

      • 我正在制作一个使用大量小部件的 Web 应用程序,这些小部件正在从数据库中加载。有一个管理面板,管理员可以在其中添加小部件。我正在获取所有小部件的代码从同一页面中的数据库中。所以将来可能会发生在添加很多小部件和相关的 js 文件后,它们会发生冲突并创建问题。所以我想限制对某些小部件的使用
      • @amitkumar:要获得这​​种隔离,你必须让他们成为iframes。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-22
      • 1970-01-01
      相关资源
      最近更新 更多