Safari浏览器中的JS window.open方法

问题描述 投票:0回答:1

我在Safari浏览器中遇到了JS window.open方法的问题:

标准的window.open()JavaScript方法不能用于从全局HTML文件或扩展栏中打开新的选项卡和窗口。 https://developer.apple.com/library/archive/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html

所以,我正在尝试这个代码:

safari.self.browserWindow.openTab(myLink);

但是我收到一个错误:

index.html:199未捕获的ReferenceError:未定义safari

(在谷歌浏览器开发者工具iPhone仿真中,它不适用于真正的iPhone)

编辑,这里有更多上下文:

var link = 'http://www.example.com/';
something.addEventListener("touchend", function (e) {
    e.preventDefault();
    e.stopPropagation();
    if(navigator.userAgent) {
        safari.self.browserWindow.openTab(link);
    }
});

为什么safari.self.browserWindow.openTab(myLink);在Safari中不起作用?

javascript ios safari
1个回答
0
投票

使用像这样:safari.self.tab.dispatchMessage('openurlNewTab','http://www.example.com/');

//消息名称'openurlNewTab'是任意的//

© www.soinside.com 2019 - 2024. All rights reserved.