1

Google の cdn から jQuery UI を読み込んでいます。IE9 を除く、サポートしなければならないすべてのブラウザー (IE8+) で動作します。jQuery UI コードの次の行 (縮小されていないバージョンの 249 行目) で、ページの読み込み時に奇妙なエラーが発生します。

$.support.selectstart = "onselectstart" in document.createElement( "div" );

エラーは次のとおりです。

SCRIPT438: Object doesn't support property or method 'createElement'

それを含めるコードは

<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.js">
</script>

デバッガーで「ドキュメント」オブジェクトを調べたところ、(予想どおり) createElement が定義されているようです。

4

1 に答える 1

3

私はついに問題を発見しました。なぜそれが起こっているのかわかりませんが、何らかの理由で、IE9 のスコーピングの問題ドキュメントは、あなたが期待するドキュメントではありません。

動作は次の場所で確認できます: http://jsfiddle.net/esn2v/8/

with(block = document.createElement('div')) {
    with(detaildiv = document.createElement('div')) {
        alert('test');
    }
}

IE9 以外のブラウザでは正常に動作します。IE9 で開いてもアラートは発生せず、コンソールでドキュメントに関するエラーを確認できます。

次のように jquery と jquery UI を含めるだけでは発生しません: http://jsfiddle.net/uRFz5/

<script src=
"//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>

私のアプリは、この問題を引き起こす完璧な嵐に違いありません。

于 2013-10-23T15:45:39.377 に答える