0

hiphopdx から mp3 をダウンロードできる chrome 拡張機能を作成しようとしています。Web サイトの再生ボタンをクリックすると、mp3 のダウンロード リンクを抽出できる可能性があることがわかりました。ただし、拡張機能で再生ボタンをクリックすることに固執しています。拡張機能を使用しているページの例を次に示します: http://www.hiphopdx.com/index/singles/id.16603/title.fred-the-godson-f-the-kid-daytona-新学期-prod-kaimbr

私のマニフェストjson

"name": "My Test",
"version": "1",
"manifest_version": 2,
"background": {
    "scripts": ["popup.js"]
},
"browser_action": {
    "default_icon": "icon.png"
},
"permissions": ["tabs", "http://*/*", "https://*/*"]

私のpopup.html

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

popup.js

function ShowOperationMessage(obj, evt) {
        var fireOnThis = obj;
        if (document.createEvent) {
            var evObj = document.createEvent('MouseEvents');
            evObj.initEvent(evt, true, false);
            fireOnThis.dispatchEvent(evObj);
        } else if (document.createEventObject) {
            fireOnThis.fireEvent('on' + evt);
        }
    }

ShowOperationMessage(document.getElementsByClassName("playBtns medium awesome red adjust launchplayer left"),"click");
4

1 に答える 1

0

コードをコンテンツスクリプトコードに変更すると、ボタンをクリックできました

ここに画像の説明を入力

参考文献

バックグラウンド要素を排除するためにコンテンツ スクリプト セクションを追加

マニフェスト.json

{
    "name": "Mouse Clicks",
    "version": "0.0.1",
    "manifest_version": 2,
    "description": "This demonstrates how mouse clicks are tracked",
    "content_scripts": [
    {
      "matches": ["http://www.hiphopdx.com/index/singles/id.16603/title.fred-the-godson-f-the-kid-daytona-back-to-school-prod-kaimbr"],
      "js": ["myscript.js"]
      }
  ]

}

myscript.js

document.getElementsByClassName("playBtns medium awesome red adjust launchplayer left")obj[0]インデックスを使用する配列を返す

function ShowOperationMessage(obj, evt) {
    var fireOnThis = obj[0];
    if (document.createEvent) {
        var evObj = document.createEvent('MouseEvents');
        evObj.initEvent(evt, true, false);
        fireOnThis.dispatchEvent(evObj);
    } else if (document.createEventObject) {
        fireOnThis.fireEvent('on' + evt);
    }
}

ShowOperationMessage(document.getElementsByClassName("playBtns medium awesome red adjust launchplayer left"), "click");

さらに情報が必要な場合はお知らせください。

于 2012-12-11T11:56:48.637 に答える