• ベストアンサー

iframeについて質問です。

iframeについて質問です。 取得先のページを全体を読み込むことはできるのですが、 指定したid属性だけを読み込むことってできるのでしょうか。 css、html5で対応できれば嬉しいです。 css、html5でできない場合jsでやり方があれば教えてもらえたら嬉しいです。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hymat
  • ベストアンサー率58% (95/162)
回答No.4

そうですね。スマホの場合、ローカルで試した限りでは、http://~ を付けなければ良いようです。

rossi46mail
質問者

お礼

なんどもご回答いただいて本当にありがとうございました。 ベストアンサーが1つしか付けられないことが悔しいですが、本当に感謝しております。ありがとうございました。

その他の回答 (3)

  • hymat
  • ベストアンサー率58% (95/162)
回答No.3

じゃなかった xhr.open('GET', 'http://ここにURLを書く/'); の部分を httpなど抜きで './xxx.txt'とかにしてください。

rossi46mail
質問者

お礼

ありがとうございます。 './xxx.txt'の件ですが相対パスにするということでしょうか。 もしくはhttp://を./に変更するということでしょうか。 例:http://item.rakuten.co.jp/shopname/itemname/ の場合 ./item.rakuten.co.jp/shopname/itemname/ですか?

  • hymat
  • ベストアンサー率58% (95/162)
回答No.2

スマホの場合は同一サーバー上のファイルの指定がFQDNだとダメっぽいですね。 <input type="button" value="get data" onclick="ajaxGet('http://localhost/target1.html');">   ↓ <input type="button" value="get data" onclick="ajaxGet('target1.html');">

rossi46mail
質問者

お礼

ご回答ありがとうございます。 下のno.3にご返信いたします。

  • hymat
  • ベストアンサー率58% (95/162)
回答No.1

セキュリティ的にiframeの内容はイジれないのでdiv等を使います。特定の部分だけ読み込むわけにいかないので、いったん全体を読み込んで、その後、idを指定して取り出します。ただし読み込む相手先ページがAllow-Originを制限している場合はできません。 <html> <body> <script> function ajaxGet() { var xhr=new XMLHttpRequest(); xhr.open('GET', 'http://ここにURLを書く/'); xhr.onreadystatechange=function(){ if(xhr.readyState == 4 && xhr.status == 200){ document.getElementById('div1').innerHTML=xhr.responseText; document.getElementById('data1').innerHTML= document.getElementById('ここにidを書く').innerHTML; } }; xhr.send(uri); } </script> <div id="div1" style="display:none;"></div> <div id="data1" style="border:solid 1px red;width:512px;">no data</div> <input type="button" value="get data" onclick="ajaxGet();"> </body> </html>

rossi46mail
質問者

お礼

ありがとうございます! できました! 1点だけご相談があります。 スマホの場合IDを取得できません。 スマホでも取得できる方法はありますか? よろしくお願いします。

関連するQ&A