回答:
Google +1ウィジェットは、を構築しているWebサイトで実行されるJavaScriptですiframe。このJavaScriptウィジェットはWebサイトのコンテキスト内で実行されるため、iframeのOrigin継承ルールによる制約を受けません。したがって、このJavaScriptウィジェットは、単純なように見えても、親サイトで必要なDOMイベントを設定できiframeます。
もう1つ、なぜGoogleはiframe?divページ上で単に生成しないのはなぜですか?リンクはから発生しているiframeため、CSRF(クロスサイトリクエストフォージェリ)トークンをリクエストに埋め込むことができ、親サイトはこのトークンを読み取ってリクエストを偽造することができません。つまり、これはiframe、元の継承ルールに基づいて悪意のある親から自分自身を保護するCSRF対策です。
攻撃の観点から見ると、これはUI-RedressよりもXSS(クロスサイトスクリプティング)に似ています。あなたはGoogleにあなたのウェブサイトへのアクセスを許可しており、ユーザーのCookieをハイジャックしたりXmlHttpRequests、選択した場合はウェブサイトに対してパフォーマンスを発揮したりする可能性があります(ただし、悪意のある富裕層を訴えます)。
この状況では、Googleを信頼する必要がありますが、Googleはあなたを信頼していません。
GoogleはiFrameを使用して、「漏れやすい標準DIV」を防止しています。彼らのクロージャライブラリダイアログは同じことをします。他のコンテンツが+1ボタンに流れ込むことができないようにするためです。 http://closure-library.googlecode.com/svn/trunk/closure/goog/demos/dialog.html。
<iframe>ですが、これは正しいと思われる可能性があります(その可能性について説明しています)。しかし、DOMの検査から、これが事実であるとは思われません。そして、それは私の名前とGmailアドレスを悪意のある親に公開します(秒に包まれない限りiframe)!