1

我正在谷歌浏览器中开发一个简单的页面操作扩展,它具有以下目的。

  1. 单击时显示弹出窗口并提示输入用户名和密码。
  2. 经过一个小的验证后,它应该填写网站的用户名和密码,例如 gmail.com。

我看到了几个关于如何在窗口加载时执行此操作的示例,并且我能够单独执行弹出窗口。但我无法从弹出窗口的 html 访问父 html。

任何帮助将不胜感激。

这是我的代码的内容。

清单.json:

{
  "name": "My First Chrome App",
  "version": "1.0",
  "description": "Auto fill content",
  "background": { "scripts": ["background.js"] },
  "page_action" :
  {
    "default_icon" : "icon-19.png",
    "default_title" : "Auto Fill",
    "default_popup" : "test.html"   
  },
  "permissions" : [
  "tabs"
  ],
  "icons" : {
    "48" : "icon-48.png",
    "128" : "icon-128.png"
  },
  "manifest_version": 2 
}

背景.js

function checkForValidUrl(tabId, changeInfo, tab) {
  //checks whether the document contains Steve Jobs
  if (tab.url.indexOf("gmail")) {
    chrome.pageAction.show(tabId);
  }
};
chrome.tabs.onUpdated.addListener(checkForValidUrl);

测试.html

<html>
<head>
    <title> Hi Steve </title>
    <script type="text/javascript">
        function fill()
        {
            alert("inside method");         
        }
    </script>
</head>
<body>
    <form name="userinfo" id="userinfo">
        username : 
        <input type="text" name="username"/>
        password :
        <input type="password" name="password"/>
        <input type="button" value="Log In" onclick="fill()";/>
    </form>
</body>
</html>

谢谢,尚卡尔

4

1 回答 1

1

为您的登录创建一个弹出窗口,其中包含用户名和密码字段。

http://code.google.com/chrome/extensions/browserAction.html#popups

提交弹出表单后,向后台页面发送一条消息,然后后台页面向您的(页面的)内容脚本发送一条消息,然后该脚本负责填写和提交表单。

http://code.google.com/chrome/extensions/content_scripts.html

您需要了解消息传递才能执行此操作:

http://code.google.com/chrome/extensions/messaging.html

于 2012-04-06T23:18:59.347 回答