如何在带有扩展程序的 Safari 中单击按钮打开新标签页?
How to open new tab with Button click in Safari with extension?
我在使用我的扩展程序在 Safari 浏览器中打开新标签页时遇到问题。
使用我添加的扩展生成器 bar.html
:
<html>
<body>
<form id="myForm">
<input type="button" value="Button1" onclick="window.open('http://www.google.com')"/>
<button onclick='window.open("https://www.google.com", "_blank");'>Button2</button>
</form>
</body>
</html>
Button1 和 Button2 都不会在新选项卡中打开 'google.com',window 也不会。如果我将它们放在上面的表格中,然后单击 Button2 它将在当前选项卡中打开我的 bar.html
,如果我单击 Button1 或 Button2 它将在我的当前选项卡中打开 'google.com'。
您尝试过使用 target_blank
吗?
我在 Apple Dev 库中找到了这个,它指出“标准 window.open() 方法不能用于打开新选项卡和 window 从扩展栏。相反,扩展栏可以访问 SafariApplication、SafariBrowserWindow 和 SafariBrowserTab 类,它们允许您打开、关闭、激活和操作 windows 和选项卡。"
因此,通过使用带有 safari.self.browserWindow.openTab
的函数,我能够在新选项卡中打开我的 link。
<!DOCTYPE HTML>
<html>
<head>
<title>Safari Developer Reference</title>
<button onclick="openInTab('http://www.google.com');">Click me</button>
<script type="text/javascript">
function openInTab(source){
var newTab=safari.self.browserWindow.openTab();
newTab.url=source;
}
</script>
</head>
<body style="color:#C02020;background:#C0C0C0;">
<a href="javascript:openInTab('http://www.google.com');"> Google </a>
</body>
我在使用我的扩展程序在 Safari 浏览器中打开新标签页时遇到问题。
使用我添加的扩展生成器 bar.html
:
<html>
<body>
<form id="myForm">
<input type="button" value="Button1" onclick="window.open('http://www.google.com')"/>
<button onclick='window.open("https://www.google.com", "_blank");'>Button2</button>
</form>
</body>
</html>
Button1 和 Button2 都不会在新选项卡中打开 'google.com',window 也不会。如果我将它们放在上面的表格中,然后单击 Button2 它将在当前选项卡中打开我的 bar.html
,如果我单击 Button1 或 Button2 它将在我的当前选项卡中打开 'google.com'。
您尝试过使用 target_blank
吗?
我在 Apple Dev 库中找到了这个,它指出“标准 window.open() 方法不能用于打开新选项卡和 window 从扩展栏。相反,扩展栏可以访问 SafariApplication、SafariBrowserWindow 和 SafariBrowserTab 类,它们允许您打开、关闭、激活和操作 windows 和选项卡。"
因此,通过使用带有 safari.self.browserWindow.openTab
的函数,我能够在新选项卡中打开我的 link。
<!DOCTYPE HTML>
<html>
<head>
<title>Safari Developer Reference</title>
<button onclick="openInTab('http://www.google.com');">Click me</button>
<script type="text/javascript">
function openInTab(source){
var newTab=safari.self.browserWindow.openTab();
newTab.url=source;
}
</script>
</head>
<body style="color:#C02020;background:#C0C0C0;">
<a href="javascript:openInTab('http://www.google.com');"> Google </a>
</body>