2

他のモジュールがロードされる前に、AMD 以外のモジュールをロードするにはどうすればよいですか? console.x 用の shim がありますが、何よりもまずこれをロードするのに問題があります。

また、条件が true の場合にのみロードしたいので、この場合はコンソール シムであるため、「コンソール」が定義されていないかどうかをテストし、条件が true の場合にのみコンソール シムをロードします。

私は RequireJS を使用しており、Modernizr も手元に持っていることに注意してください。

ありがとう。

4

1 に答える 1

0

このデモでは、必要なことを行う基本的な方法を示します。

次のスクリプト:

http://jsfiddle.net/bZB9L/6/

<script>
if ("undefined" === typeof window["mozInnerScreenX"]) {
    document.writeln("<script src=http://jsbin.com/erevub/4></scr" + "ipt>");
}
</script>
<script>
alert(mozInnerScreenX);
</script>

このスクリプトからのインポート:

http://jsbin.com/erevub/4

window["mozInnerScreenX"] = window["mozInnerScreenX"] || (function () {
    return 999;
}());

mozInnerScreenXのマシンのすべてのブラウザにはconsole.

を使用する最初のスクリプト ブロックdocument.writelnは、shim を使用する次のスクリプトとは別のスクリプト ブロックにある必要があります。

が悪い考えである理由はたくさんありますが、document.writelnあなたの完全なユースケースがわからないので、これが最も簡単です。

999IE と Chrome (shim 値)、および1074.5Firefox (実際の値)でアラートを受け取ります。

于 2012-06-20T13:07:30.810 に答える