首页 > 解决方案 > 如何在 iOS 15 中使用 Safari iOS App Extension 从 popup.js 获取活动选项卡的 URL?

问题描述

我正在为 iOS 15.0+ 开发 Safari 应用程序扩展,我需要在 popup.js 中获取活动选项卡的 URL 并显示。

这是我在 popup.js 中的做法:

document.getElementById("appresponse").innerHTML = safari.application.activeBrowserWindow.activeTab.url;

结果它什么也不返回。

我也试过

document.getElementById("appresponse").innerHTML = document.URL

但它返回当前 popup.js 文件的路径。

这是我来自 manifest.json 的权限:

"permissions": ["nativeMessaging", "activeTab"]

和 info.plist:

<key>NSExtension</key>
<dict>
    <key>NSExtensionAttributes</key>
    <dict>
        <key>NSExtensionActivationRule</key>
        <dict>
            <key>NSExtensionActivationSupportsWebURLWithMaxCount</key>
            <integer>1</integer>
            <key>NSExtensionActivationSupportsImageWithMaxCount</key>
            <integer>10</integer>
        </dict>
    </dict>
    <key>NSExtensionPointIdentifier</key>
    <string>com.apple.Safari.web-extension</string>
    <key>NSExtensionPrincipalClass</key>
    <string>$(PRODUCT_MODULE_NAME).SafariWebExtensionHandler</string>
</dict>

标签: javascriptswiftsafari-extensionios15safari-app-extension

解决方案


推荐阅读