2016-05-06 13 views
0

を使用してインラインフレームにリンクを変換し、私の代わりに、リンクの内容が含まれているIFRAMEを示したいと思います。例:それでは、私は、このリンクの代わりにリンク</p> <pre><code><a href="http://URL"></a> </code></pre> <p>を持っているとしましょうJavascriptの

<iframe src="http://URL"></iframe> 

このIFRAMEの幅が100%になるとiframeの高さを動的(http://URL別名)得られたページの高さに等しくなるように計算されます。

純粋なJavascriptソリューションではどうすればよいですか?

+1

ように、そのように簡単ではありません(http://stackoverflow.com/questions/8726455/creating-an-iframe-using-javascript) –

+0

[JavaScriptを使用してIFRAMEを作成する]の可能重複私は最初想像したので、私の答えは削除されます。質問。あなたの ''要素は 'id'名を持っていますか?もっと重要なのは、 '' and here ''の間にテキストがあります。私は書かれているようにページ上のリンクをどのように見ることができるのか理解できません。これらの回答がなければ、どのように進行する可能性があるのか​​分かりません。 – zipzit

答えて

1

これは試すことができますが、同じドメイン名内でのみ動作します。これは、セキュリティ上の制限である

<html> 
<body> 
    <div> 
     <a href="http://example.org" class="frame">example.org</a> 
    </div> 
    <script> 
     var links = document.getElementsByClassName('frame'); 
     for (var i = 0; i < links.length; i++) { 
      var frame = document.createElement("iframe"); 
      frame.setAttribute('src', links[i].getAttribute('href')); 
      frame.setAttribute('class', links[i].getAttribute('class')); 
      frame.style.width = "100%"; 
      frame.onload = function() { 
       frame.style.height = frame.contentWindow.document.body.scrollHeight + "px"; 
      }; 

      links[i].parentNode.replaceChild(frame, links[i]); 
     } 
    </script> 
</body> 
</html> 
+0

ドメインの制限がないように変更するにはどうすればよいですか? – kevinkt

+0

あなたの場合は、リモートサーバーにJavaScriptコードを埋め込むことができます(またはサーバーレスポンスヘッダーを変更することもできますが、そうではないと思います)。 次に、以下のライブラリを試してみました。実際には使用しませんでした:https://github.com/davidjbradshaw/iframe-resizer – Serge

関連する問題

 関連する問題