Как открыть новую вкладку нажатием кнопки в Safari с расширением? - PullRequest
0 голосов
/ 19 декабря 2018

У меня проблемы с открытием новой вкладки в браузере Safari с моим расширением.Используя Extension Builder, я добавил 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" на новой вкладке или в окне,Если я помещу их в форму, как указано выше, и нажму Button2 , откроется мой bar.html на текущей вкладке, и оттуда, если я нажму либо Button1 , либо Кнопка2 откроет "google.com" в моей текущей вкладке.

enter image description here

enter image description here

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Я нашел это в библиотеке Apple Dev, где написано: " Стандартный метод window.open () нельзя использовать для открытия новой вкладки и окна из панели расширений. Вместо этого панели расширения имеют доступ к SafariApplication,Классы SafariBrowserWindow и SafariBrowserTab, которые позволяют открывать, закрывать, активировать и управлять окнами и вкладками. "

Таким образом, с помощью функции с safari.self.browserWindow.openTab я смог открыть свою ссылку вНовая вкладка.

<!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>

0 голосов
/ 19 декабря 2018

Вы пытались использовать target_blank?

https://www.w3schools.com/tags/att_a_target.asp

...