- PR -

IFRAMEに読み込んだページの内容を取得する方法

1
投稿者投稿内容
タイガー
会議室デビュー日: 2006/07/31
投稿数: 14
投稿日時: 2006-09-07 16:29
.Netというより、JAVASCRIPTの質問になるとおもうのですが、
A,aspxのボタンを押下した時に、IFRAMEにWebページを読み込み、
その内容を取得しようとしていますが、うまくいきません。

●A.aspx
<html>
<SCRIPT language='JavaScript'>
function fncLoad(){
form1.target = "ifm01";
form1.action = "http://www.hoge.co.jp";

setTimeout('fncGet()', 1000);
}

function fncGet(){
doc = frames[ifm01].document;  ←ここでエラーとなる。
     〜略〜
}
</SCRIPT>
<body>
<form id="form1">
<INPUT TYPE="submit" value="login2" onclick="fncLoad();">
<iframe id="ifm01" height="100" width="200" name="ifm01" ></iframe>
</form>
</body>
</html>

fncGetのframes[ifm01].documentで、「アクセスが拒否されました。」のエラーとなります。
documentオブジェクトに限らず、frames[ifm01]配下のオブジェクトを参照するとエラーとなります。
現象としては、例のように、WebページをIFRAMEに読み込んだ場合に、エラーとなるのですが、
localhostのページを読み込んだ場合には、エラーとなりません。

どなたかご教授の程、宜しくお願い致します。
ベテラン
会議室デビュー日: 2005/05/16
投稿数: 85
お住まい・勤務地: 千葉県在住
投稿日時: 2006-09-07 16:37
タイガーさん、こんにちは。

過去の書き込みで、こんなのを見付けました。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=32985&forum=7

# 見当違いだったら御免なさい
末記人
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 233
お住まい・勤務地: あわにこ
投稿日時: 2006-09-07 16:40
こんにちは

iframeにはドメインの違うページを読み込むのですか?
だとしたらセキュリティの関係で出来なかったはずです。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-09-07 16:41
引用:

タイガーさんの書き込み (2006-09-07 16:29) より:
コード:
        form1.action = "http://www.hoge.co.jp";




javascript では、セキュリティー上の問題から
別サイトにはちょっかい出せないはずです。
_________________
かるあ のメモスニペット
タイガー
会議室デビュー日: 2006/07/31
投稿数: 14
投稿日時: 2006-09-07 16:46
引用:
javascript では、セキュリティー上の問題から
別サイトにはちょっかい出せないはずです。



IFARMEには、"http://www.hoge.co.jp"の内容が読み込まれているのですが...
その関係で、frames[ifm01].documentがエラーとなるのでしょうか?
ぽぴ王子
ぬし
会議室デビュー日: 2006/03/24
投稿数: 475
お住まい・勤務地: お住まい:城・勤務地:城
投稿日時: 2006-09-07 16:56
こんにちは。

引用:

IFARMEには、"http://www.hoge.co.jp"の内容が読み込まれているのですが...


は、上のソースで言うところの fncLoad() の実行結果ですね。
これは単に action 先を変更して submit しているだけなので、動作します。

引用:

その関係で、frames[ifm01].documentがエラーとなるのでしょうか?


なにが「その関係」なのかはわかりませんが、frames[ifm01].document は
iframe の中の document を操作しようとしています。それが許されない(別
サイトであれば)のは未記入さんやかるあさんがおっしゃっているとおりです。

ところで、A.aspx が存在しているのは www.hoge.co.jp のドメインの中に
なるでしょうか。別ドメインならば上記のとおりですが、同一ドメインで拒否される
とするとまた別の問題があるかもしれません。
_________________
ぽぴ王子@わんくま同盟
ぽぴ王子の人生プログラミング中 / ぽぴンち。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-09-07 16:57
引用:

タイガーさんの書き込み (2006-09-07 16:46) より:

IFARMEには、"http://www.hoge.co.jp"の内容が読み込まれているのですが...
その関係で、frames[ifm01].documentがエラーとなるのでしょうか?


あっ、すいません、間違えました(汗
ここは問題ないです。
タイガー
会議室デビュー日: 2006/07/31
投稿数: 14
投稿日時: 2006-09-07 17:04
引用:
A.aspx が存在しているのは www.hoge.co.jp のドメインの中に
なるでしょうか。


別のドメインです。
ということは、この方法では、無理ということでしょうか?
他に良い方法は、ありませんか?
1

スキルアップ/キャリアアップ(JOB@IT)