- ベストアンサー
異なるドメインのリソースを読み書きする方法について
JavaScriptでは基本的に異なるドメインのリソースを読み書きできないことはわかったのですが、何とか良い方法は無いものでしょうか?JavaScriptに限らず以下を実現する方法についてアドバイスをください。 ・フレーム1とフレーム2は異なるドメインに存在する。 ・フレーム1にあるボタンを押すとフレーム2にあるテキストフォームの中を動的に変更する。 前提として ・変更できるのはフレーム1のコードのみ。 ・サーバーサイドの変更は加えられない。 ・実行環境等、クライアント側に何らかのインストールを必要とする方法は不可。 例えば、子フレームにhttp://www.google.co.jp/を読み込んで自動的に検索フォームに文字を入力する、というような使い方をしたいのです。 以前フォームの補完をするようなWEBアプリケーションを見たことがあるような気がするのですが、このような方法についてご存知でしたら教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>ブログに自動でトラックバックするスパムボット等 コメントの間違いですよね。トラックバックはこちらから送りつけるだけですから。仮にコメントとして、だとしてもコメントをするのは(相手が特にドメイン等で制約をかけていなければ)コメントを受け付けるプログラムを呼び出せばよいだけです。「ブラウザで」「実際に相手のサーバーへフォームを呼び出しに行って」行う必要はありません。スパムはそこを突くわけです。なので、それを避けるために目視が必要な番号を入力させるなどの手法が採られるわけですね。 >子フレームにwww.google.co.jpを読み込んで自動的に検索フォームに文字を入力する ただこれをしたいのであれば、入力した後に子フレームにgoogleの検索結果を読ませれば良いだけです。それは簡単(google.co.jp/q=ワード~を呼べばいい)。ただし、googleの利用規約に反するかも。 子フレームにgoogleのトップページを表示して、その検索ワードのフォームにキーワードを入れることはできません。こっちは、googleのトップページを外部から操作する必要があるからです。 おやりになりたいことが具体的には分からないのですが、作り方を工夫すれば問題ないのではないかと思います。例えば冒頭の例でいえば、フレーム2自体を自前で組み立てて、その中のテキストフォームを書き換えれば良いんです。それ以外のパーツは持ってくればいい。持ってくることは可能ですから。
その他の回答 (1)
- VCAT
- ベストアンサー率20% (16/79)
JavaScriptがそれを許可していないのはセキュリティ保護のためです。 もし、それが何らかの方法で可能であれば、それは即、セキュリティ ホールの発見です。次期バージョンで修正されるでしょう。 もし、それが放置されるとすれば、ネットは無秩序に陥ります。 あなたのサイトのみならず、悪意のある他者があなたのサイトをコント ロールできるわけですから。
補足
ありがとうございます。 それはわかるのですが、フォーム入力のような手動でも行える作業を自動化できるような抜け道は無いものかと思い模索中です。 例えばブログに自動でトラックバックするスパムボット等はどのようにしてそれを可能にしているのでしょう?