繁体   English   中英

需要php页面通过chrome扩展后方法来回显当前chrome选项卡的url

[英]Need php page to echo the url of a current chrome tab via chrome extension post method

我有一个chrome扩展程序可点击的图标,该图标可以正常工作,它将调用并显示目标php页面。 但是,单击后,我想检索当前浏览器选项卡的完整URL,并将其发布到php页面。 该php页面只需简单地回显发送给它的url。 看起来很容易,并且有几个密切相关的SO页面讨论了类似的问题,我从中开发了以下代码。 目前,php页面已被调用,但是我无法获取它以呼应url。 我得到的只是array(0) { } 我已经尝试了一些很好的SO Q&A进行的代码修改,但是到现在为止,我不确定问题出在哪里...任何解决方案都是可以接受的,我不受限于此处尝试的方法。

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>

ah! 经过数小时的反复研究,事实证明,myGreatSite.com已安装了SSL证书,尽管有一个.htaccess文件允许使用http和https对其进行调用,但出于我们的目的,它必须像下面。 斜杠也是一个好主意。 我不确定这是为什么...

form.action = 'https://myGreatSite.com/ABC.php/';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM