在js函数内部调用iframe

calling an iframe inside a js function

本文关键字:调用 iframe 内部 函数 js      更新时间:2023-09-26

我正在尝试创建一个外部链接,该链接出现在同一个网站中。

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

我的想法是,当链接打开时,将创建一个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> 

我写了这个代码,但没能得到我所期望的。我试着用按钮,但它不起作用。

有其他办法解决我的问题吗。。

不需要javascript,使用target属性:

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

JSFiddle

重要信息:您无法显示http://google.com在iframe中,因为它们的CCD_。请参阅:X-Frame-Options响应标头

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

试试这个

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>

更改为:

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;来停止锚点的默认行为,从而将您带到另一个页面。

请注意,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>
 <iframe src="www.google.com" height="400" width="551" frameborder="0" scrolling="no" runat="server"></iframe>

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