这个问题之前有人问过,但是答案在一定程度上解决后并没有解决我面临的问题:
我有一个简单的 HTML 页面,有 2 个框架,在左边的框架中我打开了一些 URL,在右边的框架中有文本输入框,我需要 onClick 来获取在左边框架中打开的文档的当前 URL。这是我的文本框代码:
<input type="TEXT" name="proz" onClick=value=top.left_frame_name.location.href>
问题是,当我在左侧框架中打开一个本地文件时,它会起作用,我得到 file:///C:/Documents%20and%20Settings/Mihailo/My%20Documents/furniture/dnevnaI.htm 当我点击文本框时, 但是,如果我在左侧框架中打开一些外部链接 http://...,则单击右侧框架中的文本框不会在框中产生任何内容,但会在浏览器中显示消息(错误:权限被拒绝)。
该应用程序是一个心愿单页面,左侧用户正在从另一个域打开产品页面,右侧是我的页面,其中包含一个带有多个文本框的表单,我希望用户在其中单击框以记住所选产品的 URL,最后能够将他们的选择发送给我。
最佳答案
你不能这样做
不过,您可以使用 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)
使用图像将允许发送跨域消息。只需让用户将带有此代码的链接拖到他的书签中,然后在每个页面上单击它即可。
或者只是为浏览器做一个插件
关于html - 如何获取框架的url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19060000/