6

这是我想要在“body”标签之前的“脚本”:

<script type="text/javascript">
  var vglnk = { api_url: '//api.viglink.com/api',
                key: '89dcd0a12ff35d227eaaaff82503030b' };

  (function(d, t) {
    var s = d.createElement(t); s.type = 'text/javascript'; s.async = true;
    s.src = ('https:' == document.location.protocol ? vglnk.api_url :
             '//cdn.viglink.com/api') + '/vglnk.js';
    var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r);
  }(document, 'script'));
</script>

我希望这段代码是我放“这里”的地方

<html>
<head>
</head>

<body>
    Some HTML and stuff
    HERE
</body>

</html>

我将如何在 jQuery 中解决这个问题?(我是通过一个扩展来做这个的。主要是在 Chrome 中,但也在 Firefox 和 Internet Explorer 中。)

4

2 回答 2

10

您需要内容脚本在您想要的每个页面上进行插入。

内容脚本的代码非常简单,不需要 jQuery。

var code = "your script code here";
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.appendChild(document.createTextNode(code));
document.body.appendChild(script);

因为它只会在您甚至不需要定义函数时才被调用。您可以在内容脚本附加的任何 Web 上使用调试器调试代码 ( F12),您将在内容脚本选项卡中看到您的代码。

于 2013-03-26T11:07:43.627 回答
0

关于添加 jQuery 的最佳位置,我遇到了同样的问题:到标题还是在正文标记之前?答案是没关系。

整个页面(或DOM)需要初始化或加载才能完成您正在做的事情。

和...

正文中的信息越多,确保加载文档所需的依赖就越多。

上面两句话是多余的,因为:

所有 jQuery UI、基本语法、小部件等都通过以下方式触发:

$(document).ready( function() {
    $("#some_id").click( function {
        More code here
    });
});`

上面的代码意味着在 jQuery 可以运行之前需要加载完整的 HTML 页面(或“文档”),AKA 初始化。

需要加载 jQuery 才能使 UI 工作的顺序。实际的库需要首先,然后是 UI。该库可以从 jquery.com 下载并上传到设计师网站空间或通过 CDN(内容显示网络)以节省带宽。这是订单应该如何的示例:

<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>

注意库是第一行,然后是 UI。在这种情况下,我加载了jQuery Mobile

总之,没关系。这主要是一种偏好。更多关于Unclear where $(document).ready 的内容

于 2013-08-06T07:43:11.013 回答