Safari аналог chrome.tabs.update или loadURI - PullRequest
1 голос
/ 14 сентября 2011

Мне нужен аналог Chrome chrome.tabs.update или Firefox loadURI в Safari.Я пробовал safari.application.activeBrowserWindow.activeTab.url = newURL, но он не работает с URL букмарклетов, таких как javascript:...

1 Ответ

1 голос
/ 17 сентября 2011

Это верно, это не работает.Вам нужно будет передать сообщение внедренному скрипту на веб-странице, чтобы открыть букмарклет.Например:

в скрипте глобальной страницы:

  var activeTab = safari.application.activeBrowerWindow.activeTab;
  var url = "javascript:alert('hello sucker')";
  activeTab.page.dispatchMessage("pleaseLoadThisUrl", url);

во введенном скрипте:

  safari.self.addEventListener("message", handleMessage, false);

  function handleMessage(e) {
      if (e.name == "pleaseLoadThisUrl") {
          window.location = e.message;
      }
  }

Это будет работать.

...