2016-11-28 5 views
0

私は、ターゲットの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> 

答えて

0

Bahhhh!何時間も悩んだら、myGreatSite.comにはSSL証明書がインストールされていますが、httpとhttpsで呼び出せる.htaccessファイルがありますが、ここではそのように呼び出す必要があります以下。末尾のスラッシュも良いアイデアです。なぜこれが...であるのか不明です。

form.action = 'https://myGreatSite.com/ABC.php/'; 
関連する問題