0

タイトルでごめんなさい.....私が本当に聞きたいことを言うのは少し難しいです。

一部のWebサイトでは、ユーザーが自分のサイトで使用するためにウィジェットをコピーして貼り付けることができます。たとえば、getsatisfaction。はい、ほとんどの人がさまざまな場所で見られることを願っているフィードバックアイコンです。

twitterfeedをご覧になると、左側にフィードバックアイコンが表示されます。クリックすると、素敵なモーダルウィンドウが表示されます。モーダルウィンドウのコンテンツは、外部ソースへのiframe内にあります。

私はこれが本当に好きですが、私の質問は次のとおりです。

モーダルウィンドウにjQueryライブラリを使用し、モーダルコンテンツを自分のページのサイトにリンクすることで同じことができますが、これが他のjavascriptファイルのサイトに邪魔にならないようにするにはどうすればよいですか?

たとえば、jsコードと関連するjqueryコードを使用していて、それを1つのファイルに縮小したとします。ユーザーが私のウィジェットを自分のサイトに追加します。彼らがjQueryを使用している場合、私のコードが彼らのコードに干渉しないようにするにはどうすればよいですか?

あまり人気のないモーダルウィンドウライブラリを使用するのが最善の方法でしょうか?

どうもありがとう。それが理にかなっていることを願っています!

編集:私は独自のモーダルウィンドウ機能コードを書くことができましたが、私はむしろそれをすでに行っているライブラリを使用したいと思います。

4

2 に答える 2

1

jQueryは、必要な場合にのみ動的にロードできます。

まず、jQueryオブジェクトの存在を確認します。そうでない場合は、スクリプトタグを追加します。

これにはいくつかの課題があります。ページにスクリプトタグを追加するときにonloadイベントがなく、ブラウザ間で一貫して機能するため、完全に読み込まれたかどうかをポーリングしてから、コードを実行する必要があります。

これを行う方法に関する記事があります: http ://www.squidoo.com/load-jQuery-dynamicically

ただし、ユーザーが異なるバージョンのjqueryライブラリを使用している場合は、問題が発生する可能性がありますが、追加のチェックを行うことでこれを回避できる可能性があります。

于 2010-06-23T12:51:53.467 に答える
0

jQuery UIには、目的に合った非常に優れたダイアログコンポーネントがあります。それらの内部でiframeをインスタンス化できます。見る:

http://elijahmanor.com/demos/jqueryuidialogiframe/index.html

これをすべて正しく理解していれば、iframeのコンテンツは別のページであるため、そのページのJavaScriptコードが呼び出し元のページのJavaScriptに干渉することはありませんが、その部分を正しく理解していない可能性がありますか?

編集:iframeでモーダルウィンドウを開くコードをパッケージ化するという意味で、私はあなたが何を意味しているのか理解していると思います。したがって、このコードが、ユーザーが使用している既存のjQueryコードに干渉しないことを確認する必要があります。

これはjQueryプラグインの良いユースケースだと思います。このようにして、ページのユーザーは他のjQuery関数と同じように関数を使用できるため、衝突の可能性が低くなります。

于 2010-06-23T12:50:35.533 に答える