私は 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>