怎么获取 iframe转跳的网址
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么获取 iframe转跳的网址相关的知识,希望对你有一定的参考价值。
有什么办法能获取 iframe内点击连接转跳后的地址??
是用js或者直接用jquery 获取iframe转跳后的地址再显示在网页元素中
如果是同域名的网址,可以通过JS来读取:
var url = window.frames[0].location.href;如果是跨域的,由于安全原因,你只能获取你原来设置的url:
var url = $('iframe').attr('src');如果iframe里面的地址跳转了,这个是不会跟着变的,也就是说,你是无法获取变化后的地址的。
那跨域是不是就完全木有办法了?
追答是的。原则上,浏览器也不应该让这种不安全的操作出现(如果这种操作是允许的,很多网址的用户数据都要被盗取了)。
参考技术A使用其它的浏览器也有相同或相似的功能。
追问忘了说。。是用js或者直接用jquery 获取iframe转跳后的地址再显示在网页元素中。。
追答使用jquery :
html :
Jquery code:
$('#iframe ').attr('属性名') //返回的结果是:属性值
是这个意思吗?
attr只能获取到我页面中原先设置的地址,iframe里面转跳过后就拿不到最新的地址了。。。不知道这个有没有什么办法。
我想要的效果是这样的:我自己做了一个页面,里面iframe包含某个网站登陆页面,原页面登陆之后,网址中有一串登陆后的token码,我想我的页面能在iframe登陆转跳后获取他地址中的token显示在我的页面上
ajax 代替post过去貌似也不能拿到新地址的吧?
只要你的标签还在,就一定可以获取。不过可能你遇到的是其它我不了解的情况。
追问就是这一段,太长发不出。。iframe里面的页面是一个登陆页面,正常登陆之后地址会改变,但是attr获取的地址是图片中本来就指定的地址而不是登陆后的地址
跨域。那是别人的登陆页面,登陆后有信息在地址上,action地址没用。。看来是没办法了
参考技术C 如果你能控制iframe的页面,让它的js告诉外面的最好,其他办法是,如果页面不跨域,可以通过本页面js进入iframe的js获得追问吧!少年追问
我来追问了。。跨域的。我自己的页面调用别人的登陆页面,具体看看我跟另一位大神的问题。。
javascript怎么操作iframe页面里面的dom元素?
a页面中有个:<iframe id="test" name="test" src="iframe.html"></iframe>
iframe.html页面有个 input type="button" value="点击" id="btn">
在a页面中点击iframe页面里面的按钮,然后弹出一个对话框 alert("iframe里面的按钮被成功点击了");
这是我参考写的代码,但是点击按钮根本没弹出,
<script type="text/javascript">
function getIFrameDocument(aID)
var ifr = document.getElementById(aID).contentWindow.document||document.frames[aID].document;
return ifr;
var ifrdoc = getIFrameDocument('test');
var btn=ifrdoc.getElementById('btn');
btn.onclick=function()alert("iframe里面的按钮被成功点击了");
</script>
用firebug调试的时候如下错误提示:
TypeError: btn is null
var btn=ifrdoc.getElementById('btn');
哪里错了?正常的操作iframe里面的dom元素,兼容的写法?
<iframe src="xxx.html" id="myiframe"></iframe>
<script>
var mydoc=document.getElementById("myiframe").document;
mydoc.write("<div id='newdiv'></div>")
mydoc.getElementById("newdiv").innerText="hello";
</script> 参考技术A 您好:解决办法可以这样,写好操作dom元素的方法,然后在其他页面如果是iframe的话,可以用iframe.praent[“iframe的name”].函数名。可以这样调用。还可以用ajax页面传值。在接受页面判断这个值如果标识什么动作,就执行你写好的那个操作dom的动作就可以了。 参考技术B 没有错!在IE下运行是正确的。在chrome就不一定了。本地文件在chrome测试,一直说跨域操作文件,阻止(按F12转到script可以看到错误)。估计上传到服务器可以。追问
在ie下btn.onclick也是没有弹出来啊
追答我这边可以弹出来啊!
是本地测试不?
是啊,本地测试
以上是关于怎么获取 iframe转跳的网址的主要内容,如果未能解决你的问题,请参考以下文章