3

デバッグを絞り込むのに役立つポインタを探しています。

私のサイトは、CDN を使用しなくても問題なく動作しています。CDN (Edgecast だけでなく、私がテストした別のもの) を使用すると、ページに埋め込まれた Google マップが Chrome と Firefox では表示されませんが、Safari では正常に表示されます (すべての最新バージョン、テストできません)。 IEで)。

私のアプリケーション (ソーシャル エンジン) で CDN 設定をオフにすると、それが修正されるので、実際には CDN 関連です。

HTML ソースをローカル マシンに保存し、それをローカルのブラウザで表示すると、問題なく動作します。

私のサイトのもう 1 つの機能である JS スライドショーがありますが、同じパターンに従ってうまく機能しません。CDN のオンとオフを切り替えたときに変わるのは、JS、CSS、および画像ファイルの場所だけです。

私は多くのことを試しましたが、コンソールにエラーは表示されず、動作に困惑しています。説明されたパターンに基づいて、さらに調査するためのヒントがあれば、私は非常に感謝しています.

Safari では正常に動作しているが Chrome/Firefox では動作していないページを見たい場合は、http://healthylivingtribes.com/paleo-primal-resource/ovvioを参照してください。「マップ」タブに Google マップが表示されます。

ご協力いただきありがとうございます。

ベスト - ジュリアン

4

3 に答える 3

2

同じエラーが発生しました:

Uncaught TypeError: Array.prototype.forEach called on null or undefined at mootools-1.2.5-core-nc.js:81

そして私のために働く解決策を見つけました:

ファイルmootools-1.2.5-core-nc.js(またはコードが存在する他の場所で、古いバージョンでも動作するようです) で、次の行を置き換えます (#2901 in mootools-1.2.5-core-nc.js):

var rules = sheet.rules || sheet.cssRules;

この行で:

var rules = sheet.rules || sheet.cssRules || [];


どうやら適切に初期化されていないsheet.rulessheet.cssRules、必ずしも適切に初期化されていないため、変数の3番目の代替として空の配列を割り当てるだけでrules 修正されます。

何らかの理由で、Chrome はここで通常の容疑者よりも感度が高い (または正確である) ようです... ;)


したがって、圧縮バージョンを使用している場合は、次の行を置き換えます (まあ、圧縮された行):

var F=E.rules||E.cssRules;

これで:

var F=E.rules||E.cssRules||[];


圧縮バージョンでは内部変数の名前が短い値に変更されるため、変数は実際にFは私の場合のように名前が付けられていない可能性がありますが、アイデアはわかります:)


編集: これは実際のバグのように見えるので、MooTools Core バグトラッカーに報告したので、公式リリース ( https://github.com/mootools/mootools-core/issues/2345 ) で修正されるかもしれません。

于 2012-04-05T23:44:47.437 に答える
0

ええと、答えは見つかりませんでしたが、Googleマップが表示されないようにする別のJSに関連しています。

SafariとChromeの違いについてはまだわかりませんが、これを引き起こすsocialengineプラグインを分離しました。

それは確かにCDN関連であり、Safariでも完全に正常に機能するので、誰かが何か仮説を立てているなら、私はまだそれらを聞くことに興味があります:-)

于 2012-02-26T11:41:34.950 に答える
0

私もこのエラーが発生し、mootoolsを1.2.5から1.4.5にアップグレードしようとしましたが、エラーは次のように変わりました。

Uncaught ReferenceError: Asset is not defined

次に、ここでMootoolsビルダーを使用しました:http://mootools.net/more/#Assets [すべて選択]、[互換性を含める]、[圧縮なし])

...そしてスライドショーは現在機能しています。

于 2012-03-09T05:41:21.307 に答える