从 iframe 内部导航到链接

发布于 2024-11-17 23:59:42 字数 797 浏览 2 评论 0原文

我希望这里有人能够提供帮助,我先谢谢了。

我有一个 iframe(在我的域中),当有人单击 iframe 中的链接时,我不希望该链接自动打开,我需要它转到一个函数,该函数在向页面添加一些内容后导航到该链接。

我用这个函数来填充iframe,

function setIframeHtml(html) {

   var iframe = document.getElementById("myFrame");
   var doc = iframe.document;
   if (iframe.contentDocument) {
       doc = iframe.contentDocument; // For NS6
   }
   else if (iframe.contentWindow) {
       doc = iframe.contentWindow.document;  // For IE5.5 and IE6
   }
   // Put the content in the iframe
   doc.open();
   doc.writeln(html);
   doc.close();

   navigating = false;
}

函数获取的html参数就是添加我的东西后要加载的页面。

当我从 iframe 内部执行此操作时,我收到一条错误消息,指出

Cannot read property 'document' of null    

仅当我从 iframe 外部调用该函数时,它才有效。

有什么想法如何让它发挥作用吗?

I hope someone here will be able to help, I thank i advance.

I have a Iframe (in my domain), when someone clicks a link in the iframe i dont want that link to open automatically, I need it to go to a function that will navigate to that link after adding some things to the page.

I use this function to fill the iframe

function setIframeHtml(html) {

   var iframe = document.getElementById("myFrame");
   var doc = iframe.document;
   if (iframe.contentDocument) {
       doc = iframe.contentDocument; // For NS6
   }
   else if (iframe.contentWindow) {
       doc = iframe.contentWindow.document;  // For IE5.5 and IE6
   }
   // Put the content in the iframe
   doc.open();
   doc.writeln(html);
   doc.close();

   navigating = false;
}

The html parameter the function gets is the page to be loaded after adding my things.

When i do this from inside the iframe i get an error saying

Cannot read property 'document' of null    

only when i call that function from out side if the iframe, does it work.

Any ideas how to get this working?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

忆依然 2024-11-24 23:59:42

我为此使用了 jQuery,可能有一种不使用 jQuery 的方法,但不幸的是我不知道。

您可以指定当用户单击链接时要运行的代码,该代码将运行,然后框架将转到链接指定的页面。

这是一个带有警报框的示例。

$("a").click(function() {
    //do whatever you need to do on a link press here.    
    alert("Test");
});

实际操作:http://jsfiddle.net/W2NMu/,请注意框架在出现警报之前不会发生变化盒子已关闭。

I used jQuery for this, there is probably a method without using jQuery but unfortunately I don't know it.

You can assign code to be run when a user clicks a link, the code will be run, and then the frame will go to the page specified by the link.

Here is an example with an alert box.

$("a").click(function() {
    //do whatever you need to do on a link press here.    
    alert("Test");
});

In action: http://jsfiddle.net/W2NMu/, Note how the frame does not change until the alert box is closed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文