activeTab.url Safari extension

activeTab.url Safari extension

本文关键字:extension Safari url activeTab      更新时间:2023-09-26

我正在尝试创建一个扩展来使用谷歌翻译来翻译网页。我编写了类似于:url google translate + current tab + &sl=auto&tl=it&hl=&ie=UTF-8的url,但不起作用。怎么了?

谢谢

<script>
safari.application.addEventListener("command", performCommand, false);
function performCommand(event) {
    if (event.command == "translate") {     
        var currentTab.url = safari.application.activeBrowserWindow.currentTab.url;     
        var rUrl = "http://translate.google.it/translate?u=" +  encodeURIComponent(currentTab.url) + "&sl=auto&tl=it&hl=&ie=UTF-8";     
        safari.application.activeBrowserWindow.activeTab.url(rUrl);
    }
}
</script>

一般来说,这是正确的,但也有一些简单的错误。

  1. 在第6行,var currentTab.url不是有效语法。只需调用类似currentUrl的变量即可。

  2. 在第6行,它是safari.application.activeBrowserWindow.activeTab而不是safari.application.activeBrowserWindow.currentTab

  3. 在第8行,url不是一个函数,而是一个属性。只要给它赋值就行了。

这应该有效:

<script>
safari.application.addEventListener("command", performCommand, false);
function performCommand(event) {
    if (event.command == "translate") {     
        var currentUrl = safari.application.activeBrowserWindow.activeTab.url;  
        var rUrl = "http://translate.google.it/translate?u=" +  encodeURIComponent(currentUrl) + "&sl=auto&tl=it&hl=&ie=UTF-8";     
        safari.application.activeBrowserWindow.activeTab.url = rUrl;
    }
}
</script>