私は、ターゲットのPHPページを呼び出して表示するという点でクロムエクステンションのクリック可能なアイコンがあります。しかし、クリックすると、現在のブラウザのタブの完全なURLを取得してPHPページに投稿したいと考えています。そのPHPページは、送信されたURLを単にエコーする必要があります。十分に簡単だと思われ、類似の問題を議論するいくつかの密接に関連するSOのページがあります。私は以下のコードを開発しました。現在、PHPページが呼び出されていますが、URLをエコーすることはできません。私が得るのはarray(0) { }
です。私は良いSO Q &のAから数多くのコード変更を試しましたが、この時点ではどこに問題があるのかは分かりません...どんな解決策でも受け入れることができます。ここで試みた。現在のクロムタブのURLをchrome extension postメソッド経由でエコーするphpページが必要
manifest.jsonを
{
"manifest_version": 2,
"name": "A chrome extension plugin",
"description": "Some descriptive text.",
"version": "1.0",
"browser_action": {
"default_icon": "anIcon.png",
"default_popup": "popup.html"
},
"permissions": [
"activeTab"
]
}
popup.html
<!doctype html5>
<html>
<head>
<title>Text</title>
<script src="popup.js"></script>
</head>
<body>
<h1>More Text</h1>
<button id="checkPage">Enlighten me!</button>
</body>
</html>
popup.js
document.addEventListener('DOMContentLoaded', function() {
var checkPageButton = document.getElementById('checkPage');
checkPageButton.addEventListener('click', function() {
chrome.tabs.query({currentWindow: true, active: true}, function(tab){
doc = document;
var form = doc.createElement('form');
form.action = 'http://myGreatSite.com/ABC.php';
form.method = 'post';
var input = doc.createElement('input');
input.type = 'hidden';
input.name = 'url';
input.value = tab[0].url;
form.appendChild(input);
doc.body.appendChild(form);
form.submit();
});
}, false);
}, false);
myGreatSite/ABC.php
<!DOCTYPE HTML5>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Give me the calling URL</title>
</head>
<body>
<h1>Here's the calling URL</h1>
<?php
var_dump($_REQUEST);
var_dump($_POST);
?>
</body>
</html>