3

这个问题之前也有人问过,但是解决到一定程度后,答案并没有解决我面临的问题:

我有一个带有 2 个框架的简单 HTML 页面,在左侧我正在打开一些 URL,在右侧有文本输入框,我需要在其中 onClick 以获取在左侧框架中打开的文档的当前 URL。这是我的文本框代码:

<input type="TEXT" name="proz" onClick=value=top.left_frame_name.location.href>

问题是当我在左框架中打开一个本地文件时它可以工作,当我点击文本框,但如果我在左侧框架中打开一些外部链接 http://...,单击右侧框架中的文本框不会在框中产生任何内容,但会在浏览器中显示消息(错误:权限被拒绝)。

该应用程序是一个愿望清单页面,左侧用户正在打开来自另一个域的产品页面,而在右侧他们有我的页面,其中包含一个带有多个文本框的表单,我希望用户单击框以记住所选的 URL产品,最后能够将他们的选择发送给我。

4

1 回答 1

0

你不能这样做

您可以使用框架与框架进行通信,postMessage但您需要更改您正在与之“交谈”的页面的来源;)

http://viget.com/extend/using-javascript-postmessage-to-talk-to-iframes

我能想到的解决这个问题的最好方法是创建一个书签,它将信息发送到您的页面

它看起来像这样:

javascript:(function(i){i.src='http://yoursite.com/post.jpg?page='+encodeURIComponent(document.location.href)+'&time='+(+new Date);i.onload=function(){ alert('ok, keep going') }})(new Image)

使用图像将允许发送跨域消息。只需让用户将此代码的链接拖到他的书签中,然后在每个页面上单击它。

或者只是为浏览器制作一个插件

于 2013-09-28T10:28:42.527 回答