0

質問のタイトルが正しいかどうか、また私の質問がどれだけ有効かはわかりません。

シナリオは次のとおりです。

// HTML

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

// script.js

$(function () {

  var script = // ???

});

jsコード内で、「/ script.js」の読み込みを初期化した元のタグへの参照を取得したいので、data-app属性を確認できます。

それは可能ですか?

4

4 に答える 4

3
$('script').last().data('app');

これはDOM Ready ブロックに含まれていない可能性があることに注意してください。現在のスクリプト タグにアクセスできる唯一の場所は、それが初めて実行されるときです。DOM Ready イベントなどの非同期コールバックは、これに該当しません。ただし、値を変数に格納するだけで、イベント内から使用できます。

(function() {
    var app = $('script').last().data('app');
    $(document).ready(function() {
        // do stuff
    });
})();
于 2012-05-23T07:20:02.700 に答える
1

タグを取得する「適切な」方法はないと思います。ただし、理論的には、スクリプトを実行すると、対応するタグがドキュメントに最後に挿入されるはずです。したがって、このようなコードを作品に入れるscript.js

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

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

スクリプトのロード時にこのコードを実行する必要があります。最初のロード後に必要な場合は、スクリプト タグを覚えておいてください。

于 2012-05-23T07:22:06.277 に答える
1
document.scripts[document.scripts.length-1].src

どのブラウザがそれをサポートしているかわかりません (IE と chrome、はい)

于 2012-05-23T07:31:52.500 に答える