vue项目接口域名动态的获取方法
269
2023-06-28
浅析location.href跨窗口调用函数
location.href这个东西常常用于跳转,location既是window对象的属性,又是document对象的属性。
javascript hash 属性 -- 返回URL中#符号后面的内容
javaScript host 属性 -- 返回域名
JavaScript hostname 属性 -- 返回主域名
JavaScript href 属性 -- 返回当前文档的完整URL或设置当前文档的URL
JavaScript pathname 属性 -- 返回URL中域名后的部分
JavaScript port 属性 -- 返回URL中的端口
JavaScript protocol 属性 -- 返回URL中的协议
JavaScript search 属性 -- 返回URL中的查询字符串
JavaScript assign() 函数 -- 设置当前文档的URL
JavaScript replace() 函数 -- 设置当前文档的URL,并在history对象的地址列表中删除这个URL
JavaScript reload() 函数 -- 重新载入当前文档
JavaScript toString() 函数 -- 返回location对象href属性当前的值
有几种不同的调用方法,弄到自己有点乱,这次一次性写个实例,完完全全不再混淆。本次用3个页面解决问题:
3.html 本窗口:
$(function(){
$("#parent").click(function(){
parent.location.href = "//jb51.net/article/97882.htm"; //父亲Iframe被跳转
})
$("#top").click(function(){
top.location.href = "//jb5http://1.net/article/97882.htm"; //爷爷Iframe(最外层)被跳转
})
$("#self").click(function(){
self.location.href = "//jb51.net/article/97882.htm"; //自己跳转
})
$("#parentparent").click(function(){
parent.parent.location.href = "//jb51.net/article/97882.htm"; //爷爷IFrame跳转,可以获取到任意层级的父窗口
})
})
function ParentRun()
{
alert("儿子IFrame方法!");
}
我是儿子!
2.html 父窗口:
$(function(){
$("#Outermost").click(function(){
//判断当前IFrame是否是最外层页面
if (top.location == self.location) {
alert("本Iframe是最外层框架");
}
else{
alert("本Iframe不是最外层框架"); //这个被弹出
}
})
$("#Son").click(function(){
//window.frames[0].location = "//jb51.net/article/97882.htm";
window.frames["Son"].location = "//jb51.net/article/97882.htm";
})
$("#SonFunction").click(function(){
window.frames["Son"].ParentRun(); //IE支持,google发布后)支持(文件系统中不支持)
})
$("#ParentFunction").click(function(){
parent.SonRun(); //IE支持,google发布后支持(文件系统中不支持)
})
})
我是父亲!
1.html 爷窗口:
$(function(){
alert(window.location == document.location); //输出 true
})
function SonRun()
{
alert("爷爷IFrame方法!");
}
//http://localhost:666/1.html?id=1&name=%E5%BC%A0%E4%B8%89#menu
document.write(location.hash + "
"); // #menu
document.write(location.host + "
"); // localhost:666
document.write(location.hostname + "
"); // localhost
document.write(location.pathname + "
"); // /1.html
document.write(location.port + "
"); // 666
document.write(location.protocol + "
"); // http:
document.write(location.search + "
"); // ?id=1&name=%E5%BC%A0%E4%B8%89
document.write(location.assign + "
"); // function () { [native code] }
我是最爷爷(最外层)!
三个页面放在同一个目录,随便点下就知道怎么回事了!
jQuery对IFrame的操作主要是通过
$("iframe").contents().find("#id1");
进行跨IFrame操作。
以上就是本文的全部内容,希望对大家有所帮助,谢谢对我们的支持!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~