質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iframe

HTMLのタグ<iframe>です。<iframe>は、ドキュメント内に""inline frame""を作るHTML要素で、同じページでセパレートしているドキュメントが表示されるようにします。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

4236閲覧

iframeで外部サイトを参照

nataku12

総合スコア24

iframe

HTMLのタグ<iframe>です。<iframe>は、ドキュメント内に""inline frame""を作るHTML要素で、同じページでセパレートしているドキュメントが表示されるようにします。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2016/09/21 03:11

現状iframeを使って提携している、別webサーバの外部サイトを表示して、その参照しているサイトのソースコードを取得しているのですが、参照しているサイトの影響もあるのか以下エラーが出てしまい取得できません。
** SecurityError: Blocked a frame with origin “参照する側のサイトのドメイン” from accessing a cross-origin frame.**

以下参照する側のサイトのソースコードの抜粋です。

html

1<iframe src="http://~参照URL"> </iframe> 2<script type="text/javascript"> 3window.onload = function() { 4 try { 5 var d = document.getElementsByTagName("iframe")[0].contentWindow.document; 6 } catch(e) { 7 alert(e); 8 return; 9 } 10 alert(d.body.innerHTML); 11} 12</script>

その他phpなども確認しましたがなかなか良い方法が見当たりませんでした。
参照する外部サイトがjavascriptなどで要素が追加削除されてしまう仕様なのでできればボタンを押すとその時のソースコードが取得できるようなものを目指しています。

またiframeなどを使う際セキュリティ的に同一ドメインであることがあげられるかと思いますが、提携先にも確認をとり利用する確認はとってあります。

お手数ですが、何か良い方法をご存知の方の知見をご教授いただければと思います。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

きょうびX-Frame-Options HTTP レスポンスヘッダを設定して
クロスドメインでframeを許可しないところも多いので
frameを過信しないほうがよいでしょう。
とくにjavascriptで処理するには無理があります。

もしどうしても必要であれば一度サーバー側のプログラムに
ワンクッションさせて取得するのが確実かと。

投稿2016/09/21 03:54

yambejp

総合スコア114829

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nataku12

2016/09/21 17:23

早速のご回答ありがとうございます。ご返信がおそくなり申し訳ありません。 やはりjavascriptでは無理がありますでしょうか。。。 他にobjectタグの方法も使ってみたのですが同じ結果でしたがどちらも一緒なのでしょうか。 それと確認でもうしわけござませんが、コメントいただいた”サーバー側のプログラム”というのは参照される側のプログラムということになりますでしょうか。 もしお手すきでしたらごご教授お願いできればと思います。
yambejp

2016/09/22 08:39

ご自身がapacheを立ち上げるないしはレンタルサーバーを 借りるなりしてphpを実行できるようになれば セキュリティーをユーザーの希望に合わせられるので 参照したいサーバーをご自身のサーバー経由で 参照できるようになります
nataku12

2016/09/23 00:22

ご回答ありがとうございます。 取り急ぎ自分で用意しているサーバーでご回答いただいた内容を試してみます。 何度もご回答ありがとうございました。
nataku12

2016/09/27 08:41

度々で申し訳ございません。 phpで指定のURLからソースコードを取得することは可能になりましたが、参照先の外部サイトがjavascriptなどでhtmlのソースコードが切り替わったものが取得したい場合もphpで取得ができるのでしょうか。
guest

0

投稿2016/09/21 10:09

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問