作者:家具销售_903 | 来源:互联网 | 2023-08-28 18:42
实际上我是想在iframe里做一个Oauth的登陆,登陆后会有一个http的回调地址,回调地址里有我要的参数,我想要获得它们该怎么做?比如我在iframe里打开csdn主页,然后来到本版,地址栏就
实际上我是想在iframe里做一个Oauth的登陆,登陆后会有一个http的回调地址,回调地址里有我要的参数,我想要获得它们该怎么做?
比如我在iframe里打开csdn主页,然后来到本版,地址栏就是http://bbs.csdn.net/topics/new?forum_id=Javascript,我想要获得forum_id这个参数该怎么做?
如果我要获取url再用正则做的话,如何获得iframe里页面的实际URL?不是父页面的,是iframe中页面的url。
现在查到通过src属性只能获取原始设置值,location.href什么的实测不能用,还有获取要是完整路径或者说绝对路径,“?”之后的参数也要能获得。
______________________________________________________________________________________________
3楼我写错了,应该是document.getElementById(iframe_id).contentWindow.location.href
9 个解决方案
还是没人答啊,太简单了不屑于答么... ...好寒心啊,自问自答算了.......
网上资料都是两端都能更改的,比如开两个iframe,这两个iframe里的html可以通信,这也是个跨域问题,但是这个问题由于不能改写服务端页面,也就是随便拿个页面都要适用,比如说我在iframe里开个百度首页,所以比较麻烦。
问题应该是在跨域上,document.getElementById(iframe_id).location.href可以读到完整url,但是由于跨域在浏览器里是跑不动的,用Phonegap做开发就没问题因为它是不管跨域的。所以在浏览器上还是没解决。
拿到后用正则或string的函数可以解决取参问题
document.getElementById(iframe_id).src不行吗?
不行,那个只能取到初始值,一旦点击了iframe里的链接url变化了,是取不到新的地址的
如果没跨域,可以通过 iframe.contentWindow.location.href获得,这个肯定是当前的,
跨域了,只能通过 iframe.src,只能取到初始值