在js函数中调用iframe

时间:2014-03-18 07:08:30

标签: javascript html iframe external-links

我正在尝试创建一个出现在同一网站内的外部链接。

在这里,如果我点击一个链接,它应该显示我们网站内该链接(外部网站)的内容。即,如果我的网站是siteA,并且我放置了一个链接(到siteB),该链接将重定向到'siteB'关闭'siteA'。我只是想避免这种情况,除了我想让siteB在siteA中打开

我的想法是,当链接打开时,将创建一个iframe,并在该iframe中打开外部网站。

 <a href="http://www.google.com" target="your_frame_name" onclick="executeOnClick()">Google</a>

 <script type="text/javascript">

   function executeOnClick(){
      <iframe name="your_frame_name" src="www.google.com" > </iframe>
             return true;
        }

       </script> 

我写了这段代码,却无法得到我的期望。我试图使用按钮,但它不起作用。

还有其他方法可以解决我的问题..

6 个答案:

答案 0 :(得分:2)

不需要javascript,请使用target属性:

<a href="http://www.hopamchuan.com" target="iframe1">Load the page</a>

<iframe id="iframe1"> </iframe>

JSFiddle

重要:由于X-Frame-Options,您无法在iframe中显示http://google.com。请参阅:The X-Frame-Options response header

答案 1 :(得分:0)

function executeOnClick(){
      $('body').append('<iframe name="your_frame_name" src="www.google.com" height=200 width=200 > </iframe>');
             return true;
        }

试试这个

答案 2 :(得分:0)

iframe标记不应位于JavaScript函数内。除了抛出异常之外什么都不做。将标记放在锚点下方,并在点击时更改其src

<a href="http://www.google.com" onclick="executeOnClick(this)">Google</a>
<iframe id="targetFrame"></iframe>

<script>
    function executeOnClick(target) {
        document.getElementById("targetFrame").src = target.src;
        return false;
    }
</script>

事实上,您甚至不需要JavaScript来执行此操作。您可以使用锚点的target属性并将其设置为要在其中打开页面的帧的名称:

<a href="http://www.google.com" target="targetFrame">Google</a>
<iframe name="targetFrame" id="targetFrame"></iframe>

答案 3 :(得分:0)

更改为:

onclick="executeOnClick(this); return false;"

并在你的功能中执行此操作:

<script type="text/javascript">
   function executeOnClick(elem){
      var frame = '<iframe name="your_frame_name" src="'+ elem.getAttribute('href') +'" > </iframe>';
      document.body.appendChild(frame); // <----append it here.
   }
</script>

在您的onclick功能中,您必须return false;停止锚点的默认行为才能将您带到另一页面。

答案 4 :(得分:0)

请注意,google.com无法使用iframe

<a href="javascript:void(0)" onclick="executeOnClick('http://www.google.com')">Google</a>
<iframe id="targetFrame"></iframe>

<script>
    function executeOnClick(src) {
       document.getElementById("targetFrame").src =src;
    }
</script>

答案 5 :(得分:-1)

 <iframe src="www.google.com" height="400" width="551" frameborder="0" scrolling="no" runat="server"></iframe>

也使用runat属性。希望这有效。 如果没有,那是什么错误?