English 中文(简体)
jjchery 获取调用脚本标记的引用
原标题:jQuery get reference to calling script tag

我不确定问题的标题是否正确, 以及我的问题有多少是正当的。

以下是假设情景:

// HTML

<script src="/script.js" data-app="app.js" />

/ 脚本.js

$(function () {

  var script = // ???

});

在 js 代码中, 我要找到原始标签的引用, 即初始装入“/ script. js ” 的标签, 所以我可以检查 < code> data- ap 属性 。

有可能吗?

最佳回答
$( script ).last().data( app );

请注意, 这可能 < 坚固 > 不 < / 坚固 > 位于 DOM 准备区块中。 您唯一可以访问当前脚本标记的地方是第一次执行时。 类似 DOM 准备区的自动回调不符合此条件。 您可以将数值保存在一个变量中, 然后从事件内部使用它 :

(function() {
    var app = $( script ).last().data( app );
    $(document).ready(function() {
        // do stuff
    });
})();
问题回答

您可以在 document. statimes 中列出脚本,并用 src 属性识别您的脚本。

我不认为有“ 正确” 的方法可以获取您的标签。 但是, 在理论上, 当您的脚本运行相应的标签时, 应该在文档中插入最后的标签。 因此, 将这样的代码输入到 < code> script. js 有效 :

var child = document;
while (child && child.localName != "script")
  child = child.lastChild;

if (child)
  alert("My script tag: " + child);

当脚本装入时, 您需要运行此代码, 并在初始装入后需要时记住脚本标记 。

document.scripts[document.scripts.length-1].src

我不知道什么浏览器支持它(IE和铬,是的)





相关问题
CSS working only in Firefox

I am trying to create a search text-field like on the Apple website. The HTML looks like this: <div class="frm-search"> <div> <input class="btn" type="image" src="http://www....

image changed but appears the same in browser

I m writing a php script to crop an image. The script overwrites the old image with the new one, but when I reload the page (which is supposed to pickup the new image) I still see the old one. ...

Firefox background image horizontal centering oddity

I am building some basic HTML code for a CMS. One of the page-related options in the CMS is "background image" and "stretch page width / height to background image width / height." so that with large ...

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签