1

開いたページにいくつかの要素が存在するかどうかを確認できるクロム拡張機能を構築しようとしています。誰かがここで私を助けてくれますか。以下のコードを使用すると、null 値が返されます。

マニフェスト.json

{
  "name": "A browser action with a popup that changes the page color.",
  "version": "1.0",
  "permissions": [
    "tabs", "http://*/*", "https://*/*"
  ],
  "browser_action": {
      "default_title": "Set this page's color.",
      "default_icon": "icon.png",
      "default_popup": "popup.html"
  },
  "manifest_version": 2
}

popup.html

<!doctype html>
<html>
  <head>
    <script src="jquery.js"></script>
    <script src="popup.js"></script>
  </head>
</html>

popup.js

if(jQuery('#nav').is(':visible')==true){
    alert("true");
}else {
        alert("false");
}
4

1 に答える 1

0

指定したページで実行される「コンテンツ スクリプト」を使用する必要があります。ポップアップ ページは、ユーザーが拡張ボタンをクリックしたときにのみ呼び出されます。

{
    ...,
    "content_scripts": [
        {
            "matches": [
                "*"
            ],
            "js": [
                "script.js"
            ]
        }
    ],
    ...
}

詳細はこちら: http://developer.chrome.com/extensions/content_scripts.html

また、確認するときは、最初に要素が実際に存在するかどうかを確認してから、その可視性を確認します。

val $nav = jQuery('#nav');
if( $nav.length > 0 && $nav.is(':visible')==true){
    alert("true");
}else {
    alert("false");
}
于 2012-12-03T07:59:49.553 に答える