2012-04-22 18 views
-1

ユーザーがボタンをクリックしたときにページに.prepend()アクションを使用しています。.prepend()結果は、操作を行う人だけでなく、誰でも見ることができます。

私は、クリッカーだけがリストに追加されている要素を見ることができると思いますが、このページを見ているすべてのユーザーが何を見ることもできますか?

PS:良い例は、誰のためにも1つの現実が現れるFacebookの友だちのニューススレッドです(右の列にあります)。

+4

トローリング????????? – rlemon

+2

@レモン - 神私はそうだ。この人物がプロのWeb開発者であるかもしれないという考えははるかに恐ろしいです。 – JohnFx

答えて

0

DOM操作は純粋にあなたのブラウザにあります。あなたのJSコードがアクションを更新してサーバーにpingを実行し、サーバーがそのデータを観察者にプッシュしない限り、あるユーザーのブラウザーが他のユーザーが行っていることを「スパイ」する方法はありません。

0

あなたが他のユーザーと言うときは、サイトの他のユーザーを意味しますか?

もしそうなら、答えはいいえです。変更がローカルコンピュータでのみ発生しているため、そのユーザーのみがjavascriptでDOMに加えられた変更を確認します。これは、AJAXが使用されているかどうかにかかわらず当てはまります。

あなたの理解を助ける隠喩があります。ウェブサイトがユーザーにページを与えるとき、それはそのユーザーに手紙を郵送するようなものです。手紙を受け取った人(html文書)は一日中変更することができ、その手紙のコピーを持っている他の人には影響しません。

0

あなたはjQuery prepend()を誤解しています。 AJAXは実行されません。ページに新しいHTMLを挿入するだけです。既存のHTML要素が渡された場合、その要素は、先行する要素の先頭に移動します。

// this adds a new paragraph to the beginning of the main content div 
$('#mainContentDiv').prepend('<p>New content</p>'); 

詳細はjQueryのAPIを参照してください:

たとえば

あなたはAJAXを見つけることができませんjQuery .prepend()

お知らせがカールSwedbergによってコメントを除き、ページ上の任意の場所に言及したが、彼はを参照AJAXのドキュメント

他のユーザーが変更を受け取るようにサーバーを更新するには、おそらく.prepend()とは別のjQuery.ajax()を使用する必要があります。

関連する問題