IE6で動作検証をしています
やりたいこと
・ブラウザを立ち上げ、ページAを表示
・ブラウザを別に立ち上げ、ページBを表示
・ページAでボタンをクリックしたときに、ページBの javascriptのメソッドをコール
できないこと
・ページAとページBが別サーバのとき、ドメイン規制にひっかかってしまい、実行できない
知りたいこと
・自サーバでイントラ内環境であるため、ドメインのつけ方で回避できるようならつけ方を教えてほしい(IIS6.0)
ページAとページBは別サーバにしなければいけない前提です
・ドメインが別であっても、実行できるような方法
ただし、WSHを使わない方法で(http://d.hatena.ne.jp/fits/20090301/1235879562)
you_gotさんが実現したいことがわかりませんが、こういうXSS回避手法もあります。
[ページA]http://regnif.web.fc2.com/test/counterXSS/index.html
[ページB]http://regnif.web.fc2.com/test/counterXSS/xdomain.html
当然、ページAとページBは別ドメインで動きます。
ページBがどのURLになるかはページAに記述targetDomainがありますので、修正してください。
おそらくは[ページA]のメソッドの書き方次第で、JSで可能なことは、ほぼ何でも実現できると思います。
ポイントは[ページA]の実行したいメソッドはアンカー(#以降)の文字列で[ページB]から指定。
[ページB]では#以降を取得して、eval関数で実行。あたりまえですが、[ページA]にどういう名前の
メソッドが存在するかは[ページB]は知っている前提。
また、本来[ページB]ではイベントリスナー形式でURL変更をキャッチしたいのですがイベント名が
わからなかったので、あまりキレイじゃないですがsetIntervalにてURL変更を監視している。
↓説明
ブラウザを立ち上げ、ページAを表示
[ページA]を開きます。
---
ブラウザを別に立ち上げ、ページBを表示
[ページA]の [1]openhoge ボタンをクリックすると
[ページB]
を開きます。
このとき、[ページB]のメソッドhoge()を実行します。
---
ページAでボタンをクリックしたときに、ページBの javascriptのメソッドをコール
[ページA]の [2]openfoo ボタンをクリックすると
[ページB]のメソッドfoo()を実行します。
--------------
「やりたいこと」の2番目の別ブラウザ[ページB]を立ち上げるというのが、[ページA]からという意味でない場合、ご希望の動作はほぼ不可能です。
なるほど
こうすれば、ページの再読込みもおきませんし、情報を渡すことができますね
ただ、イベントを使えないのはちょっとつらいですね。。