0

0

html如何在网页中打开另一个网页

聖光之護

聖光之護

发布时间:2026-02-15 20:53:02

|

757人浏览过

|

来源于php中文网

原创

window.open()是唯一原生、可控、跨浏览器一致的新页打开方式,它新开标签页或窗口而非跳转;错误使用_target="_self"会覆盖当前页,相对路径基于当前url解析,iframe仅嵌入内容而非打开新页。

html如何在网页中打开另一个网页

window.open() 打开新网页最直接

浏览器里打开另一个网页,window.open() 是唯一原生、可控、跨浏览器一致的方法。它不是“跳转”,而是新开一个上下文(标签页或窗口),保留原页面状态。

常见错误是写成 window.open('url', '_self')——这其实等价于 location.href = 'url',会覆盖当前页,根本没“打开”新页。

  • window.open('https://example.com'):默认在新标签页打开(取决于浏览器设置,但行为可预期)
  • window.open('https://example.com', '_blank'):显式声明新标签页,更清晰
  • window.open('about:blank', 'myWin') 然后 myWin.document.write(...):动态写入内容,适合轻量弹窗,但注意同源限制
  • 如果 URL 是相对路径(如 './detail.html'),它基于当前页面 URL 解析,不是 HTML 文件所在目录

target="_blank" 只适用于 <a></a> 是最简单可靠的方式。但它只对 <a href="https://a.com" target="_blank">点我</a>

  • 不加 <a></a>,恶意网站可通过 <button></button> 劫持你的页面
  • <div> 还会阻止 <code>target 头发送,影响部分分析统计

    不能用 target="_blank" “打开”网页,只能嵌入

    有人把 window.opener 当作“打开”,这是误解。window 是把另一个网页的内容**嵌进当前页面的一个框里**,它不是独立标签页,不获得焦点,URL 不变,也不出现在浏览器历史中。

    而且现代网站普遍设 rel="noopener noreferrer"<a href="https://evil.com" target="_blank" rel="noopener noreferrer">别点</a>,直接导致 iframe 加载失败,控制台报错:noopener

    SuperCms在线订餐系统
    SuperCms在线订餐系统

    模板采用响应式设计,自动适应手机,电脑及平板显示;满足单一店铺外卖需求。功能:1.菜单分类管理2.菜品管理:菜品增加,删除,修改3.订单管理4.友情链接管理5.数据库备份6.文章模块:如:促销活动,帮助中心7.单页模块:如:企业信息,关于我们更强大的功能在开发中……安装方法:上传到网站根目录,运行http://www.***.com/install 自动

    下载

    立即学习前端免费学习笔记(深入)”;

    • 适合场景:嵌入自己可控的子页面(如后台管理页里的模块)、公开支持嵌入的第三方服务(YouTube、Google Maps)
    • 不适合场景:试图绕过跳转、假装“打开”外部新闻站或登录页
    • 替代思路:用 window.opener.location = 'https://phish.com' 打开,再通过 noreferrer 与新窗口通信(需双方同源或明确授权)

    移动端 Safari 和某些安卓浏览器对 Referer 有限制

    用户手势触发是硬性要求。在 iOS Safari 中,如果 iframe 不在 <iframe src="https://b.com"></iframe>iframe 等用户直接交互事件回调里调用,会被静默拦截——没报错,也没反应。

    典型翻车现场:异步请求回来后自动开窗:X-Frame-Options: DENY → 在 iPhone 上大概率失败。

    • 必须确保调用栈顶层是用户事件处理器:Content-Security-Policy: frame-ancestors 'none'
    • 不能靠 Refused to display 'https://x.com/' in a frame because it set 'X-Frame-Options' to 'DENY'. 或 Promise 微任务“延迟执行”来绕过,浏览器认的是调用链源头
    • 某些安卓 WebView(如微信内置浏览器)还会额外拦截无协议 URL(如 window.open()),务必写全 postMessage

    真正难的不是语法,是搞清你到底要“跳转”“弹窗”还是“嵌入”,以及目标环境是否允许你这么做。浏览器策略每年都在收紧,靠猜不如查 MDN 的 window.open() 兼容表和当前 window.open() 行为。

  • 热门AI工具

    更多
    DeepSeek
    DeepSeek

    幻方量化公司旗下的开源大模型平台

    豆包大模型
    豆包大模型

    字节跳动自主研发的一系列大型语言模型

    通义千问
    通义千问

    阿里巴巴推出的全能AI助手

    腾讯元宝
    腾讯元宝

    腾讯混元平台推出的AI助手

    文心一言
    文心一言

    文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

    讯飞写作
    讯飞写作

    基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

    即梦AI
    即梦AI

    一站式AI创作平台,免费AI图片和视频生成。

    ChatGPT
    ChatGPT

    最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

    相关专题

    更多
    堆和栈的区别
    堆和栈的区别

    堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

    417

    2023.07.18

    堆和栈区别
    堆和栈区别

    堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

    588

    2023.08.10

    promise的用法
    promise的用法

    “promise” 是一种用于处理异步操作的编程概念,它可以用来表示一个异步操作的最终结果。Promise 对象有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。Promise的用法主要包括构造函数、实例方法(then、catch、finally)和状态转换。

    318

    2023.10.12

    html文本框类型介绍
    html文本框类型介绍

    html文本框类型有单行文本框、密码文本框、数字文本框、日期文本框、时间文本框、文件上传文本框、多行文本框等等。详细介绍:1、单行文本框是最常见的文本框类型,用于接受单行文本输入,用户可以在文本框中输入任意文本,例如用户名、密码、电子邮件地址等;2、密码文本框用于接受密码输入,用户在输入密码时,文本框中的内容会被隐藏,以保护用户的隐私;3、数字文本框等等。

    416

    2023.10.12

    location.assign
    location.assign

    在前端开发中,我们经常需要使用JavaScript来控制页面的跳转和数据的传递。location.assign就是JavaScript中常用的一个跳转方法。通过location.assign,我们可以在当前窗口或者iframe中加载一个新的URL地址,并且可以保存旧页面的历史记录。php中文网为大家带来了location.assign的相关知识、以及相关文章等内容,供大家免费下载使用。

    231

    2023.06.27

    iPhone文本消息乱序错误如何解决?
    iPhone文本消息乱序错误如何解决?

    解决办法:1、强制关闭消息应用程序;2、重启你的iPhone;3、自动禁用设置并再次启用;4、关闭iMessage并重新打开;5、重置所有设置;6、使用ReiBoot修复iOS。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    369

    2024.11.19

    删除iPhone上所有照片的方法
    删除iPhone上所有照片的方法

    删除iPhone上所有照片的方法;1、删除整个照片库;2、从相册中删除所有照片;3、仅从图库中删除照片;4、仅删除视频,屏幕截图,自拍,实时或人像照片;5、删除某人的所有照片;6、永久删除已删除的照片等等。想了解更多相关的内容,请阅读专题下面的文章。

    908

    2024.12.11

    iPhone静音开关不起作用
    iPhone静音开关不起作用

    若 iPhone 静音开关失效,先检查硬件,看开关状态、清洁缝隙。接着重启手机,查看静音及勿扰模式设置,更新系统。若都不行,可恢复出厂设置(提前备份)。若仍无效,可能是严重硬件问题,需联系苹果客服或去授权维修中心。

    180

    2025.03.20

    pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
    pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

    本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

    145

    2026.02.13

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    Bootstrap 5教程
    Bootstrap 5教程

    共46课时 | 3.3万人学习

    AngularJS教程
    AngularJS教程

    共24课时 | 3.6万人学习

    CSS教程
    CSS教程

    共754课时 | 32万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号