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 本窗口:
<html> <head> <title>js</title> <script type="text/javascript" src="jquery-1.6.2.min.js"></script> <script type="text/javascript"> $(function(){ $("#parent").click(function(){ parent.location.href = "http://www.sina.com.cn/"; //父亲Iframe被跳转 }) $("#top").click(function(){ top.location.href = "http://www.sina.com.cn/"; //爷爷Iframe(最外层)被跳转 }) $("#self").click(function(){ self.location.href = "http://www.sina.com.cn/"; //自己跳转 }) $("#parentparent").click(function(){ parent.parent.location.href = "http://www.sina.com.cn/"; //爷爷IFrame跳转,可以获取到任意层级的父窗口 }) }) function ParentRun() { alert("儿子IFrame方法!"); } </script> </head> <body> 我是儿子! <input type="button" id="parent" value="parent.location.href" /> <input type="button" id="top" value="top.location.href" /> <input type="button" id="self" value="self.location.href" /> <input type="button" id="parentparent" value="parentparent.location.href" /> </body> </html>
2.html 父窗口:
<html> <head> <title>js??</title> <script type="text/javascript" src="jquery-1.6.2.min.js"></script> <script type="text/javascript"> $(function(){ $("#Outermost").click(function(){ //判断当前IFrame是否是最外层页面 if (top.location == self.location) { alert("本Iframe是最外层框架"); } else{ alert("本Iframe不是最外层框架"); //这个被弹出 } }) $("#Son").click(function(){ //window.frames[0].location = "http://www.sina.com.cn/"; window.frames["Son"].location = "http://www.sina.com.cn/"; }) $("#SonFunction").click(function(){ window.frames["Son"].ParentRun(); //IE支持,google发布后)支持(文件系统中不支持) }) $("#ParentFunction").click(function(){ parent.SonRun(); //IE支持,google发布后支持(文件系统中不支持) }) }) </script> </head> <body> 我是父亲! <iframe src="3.html" name="Son" style="width:300px; height:300px;" ></iframe> <input type="button" id="Outermost" value="判断当前IFrame是否最外层" /> <input type="button" id="Son" value="控制儿子IFrame跳转" /> <input type="button" id="SonFunction" value="调用子窗口函数"> <input type="button" id="ParentFunction" value="调用父窗口函数"> </body> </html>
1.html 爷窗口:
<html> <head> <title>js</title> <script type="text/javascript" src="jquery-1.6.2.min.js"></script> <script type="text/javascript"> $(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 + "<br/>"); // #menu document.write(location.host + "<br/>"); // localhost:666 document.write(location.hostname + "<br/>"); // localhost document.write(location.pathname + "<br/>"); // /1.html document.write(location.port + "<br/>"); // 666 document.write(location.protocol + "<br/>"); // http: document.write(location.search + "<br/>"); // ?id=1&name=%E5%BC%A0%E4%B8%89 document.write(location.assign + "<br/>"); // function () { [native code] } </script> </head> <body> 我是最爷爷(最外层)! <iframe src="2.html" style="width:500px; height:500px;" ></iframe> </body> </html>
三个页面放在同一个目录,随便点下就知道怎么回事了!
jQuery对IFrame的操作主要是通过
$("iframe").contents().find("#id1");
进行跨IFrame操作。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现