0

非常に奇妙な問題が発生しています。誰かが答えてくれることを願っています (その種類は大雑把ですが、最善を尽くして説明します)。ローカル ページを開くとコードが機能しますが、同じページがアップロードされるとすぐにエラーがスローされます。他の 2 人もこれを調べており、さらに混乱を招いています。

FancyBox をダウンロードして、インライン機能を使用して、ユーザーを追加のページに移動させる代わりに、href リンクを介してユーザー フォームをポップアップさせました。

ここで「ストック」ファンシーボックスを見ることができます:

1 fancyapps.com/fancybox/demo さまざまなオプションの下で、インラインを使用しています。

FancyBox に付属している他のすべての機能は必要なかったので、ページを次のように削除しました。これで問題なく動作します。

2 *ファンシー ボックスのデモはインライン機能のみに取り除かれます*

そこで、このコードをページのサンドボックス コピーに適用して実装しました。

3 * 「オファーを作成」リンクに Fancy Box インライン機能が追加されたサンドボックス コピー*

それは動作を停止します!ページ上の他の JavaScript との競合はありません。唯一の違いは、色の .css がいくつか変更されていること、すべての .fancybox が .ptroffer という名前になっていること、および css コードがページ上でインライン化されていないことです (これにより、'いずれにせよ、このエラーは発生しません)。ローカルで開いたこの同じページは美しく機能します-アップロードするとエラーがスローされます。 SCRIPT5007: プロパティ 'ptroffer' の値を取得できません: オブジェクトが null または未定義です

    <script type="text/javascript">
    $(document).ready(function() {
        $('.ptroffer').ptroffer();
    });
</script>
  • リンク #2 とリンク #3 ではローカルで正常に動作しますが、#3 をアップロードするとエラーがスローされます。

お願いします!

4

1 に答える 1

0

コードのどこかで何かがオーバーライドされています$。その「準備完了」ハンドラーを呼び出すように変更した場合

jQuery('.ptroffer').ptroffer();

そのエラーは発生しません。ただし、うまくいかない場合があります。古いバージョンの jQuery が何か (1.3!) によってインポートされていると思いますが、これは悪いことです

編集ああ、なるほど、何かがプロトタイプを引き込んでいます。そこでは通常のスクリプト スープが進行しており、それが正されるまで、事態は予測不能で奇妙なものになるでしょう。おそらくどこかで何かが を呼び出しjQuery.noConflict()ていますが、追加する「準備完了」ハンドラーはそれを期待するように書かれていません。jQuery 1.3 を想定しているコードが何であれ、驚くべきこともあります。

于 2013-07-31T18:07:58.097 に答える