【发布时间】:2015-03-27 03:55:42
【问题描述】:
我调试移动网站,使用桌面模拟器比使用移动设备本身更舒服。我使用嵌入在 Google Chrome 中的模拟器。它会改变视口大小和用户代理,因此网站看起来与手机相当相似。
当任何链接包含target="_blank" 时,Chrome 会在没有任何仿真的情况下打开它,因此无法调试包含此类链接的网站。
我的问题是:有没有办法强制谷歌浏览器打开“新标签页”链接,其模拟设置与其父窗口相同?
【问题讨论】:
我调试移动网站,使用桌面模拟器比使用移动设备本身更舒服。我使用嵌入在 Google Chrome 中的模拟器。它会改变视口大小和用户代理,因此网站看起来与手机相当相似。
当任何链接包含target="_blank" 时,Chrome 会在没有任何仿真的情况下打开它,因此无法调试包含此类链接的网站。
我的问题是:有没有办法强制谷歌浏览器打开“新标签页”链接,其模拟设置与其父窗口相同?
【问题讨论】:
也许您可以创建一个 if 语句来检查您是否在移动设备上,然后遍历所有链接并将 'target="_blank"' 替换为 'target="_self"'。我认为这很好,因为您只需要在 PC 上的开发期间使用它。
if(/android|mobile/i.test(navigator.userAgent)){
var links = document.getElementsByTagName("a");
for(var i = 0; i < links.length; i++){
links[i].setAttribute("target","_self");
}
}
【讨论】:
iframe 一起使用?