我想创建一个靠近GmailChecker的chrome扩展程序。 我已经看过它的源代码了,但是它有点复杂。 它似乎使用了一些AJAX。

我尝试使用jQuery,但它在这种情况下不起作用(无法访问托管在其他服务器上的网站......并且因为这是chrome的扩展,所以脚本无法从相同的服务器)。

顺便说一下,我不确定我想做什么是可能的。 我还不太了解chrome扩展,所以我需要你的帮助。

我想这样做:在后台页面中,定期使用cookie-session加载页面(用于浏览带有登录系统的网站)。 然后获取加载页面的源代码,然后做一些事情(如果他有消息就对用户说,但是,这不是主题,也不是我认为的问题)。

所以我至少需要:

  • 使用cookie和会话进行查询
  • 访问Web托管页面的源代码
  • 在后台页面中做所有这些事情(隐藏和分离用户的浏览)。

我可以使用Chrome扩展程序执行此操作(如果可以,您可以给我一些功能或提示吗)?

谢谢 !!

清单:

{
  "manifest_version": 2,
  "name": "My Extension",
  "version": "1",
  "description": "Yeah, cool ext",
  "browser_action": {
    "default_popup": "file.html"
  },
  "permissions": ["tabs",
  "background",
  "*://*.google.com/"],
  "background": {
    "page": "background.html"
  }
}

background.html:

<!DOCTYPE html>
<html>
<head>
</head>

<body>
    <script src='script.js'></script>
</body>
</html>

script.js:

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
    console.log(xhr.responseText);   //that's the source code
};
xhr.open("GET", "http://www.google.com", true);
xhr.send();

===============>>#1 票数:3

是的,你可以用简单的AJAX调用来做那些:

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
    xhr.readyState == 4 && console.log(xhr.responseText);//that's the source code
};
xhr.open("GET", "http://www.google.com", true);
xhr.send();

或者在jQuery中:

$.get("http://www.google.com/", function(data){
    console.log(data);
});

由于这是一个扩展,如果您已在清单中正确声明了您需要访问的站点,则可以启用跨源资源共享的情况下对另一个站点执行直接请求。 不需要中间的服务器来为您执行请求, 也不需要服务器来获取结果。 并不需要JSONP。

Google有一个关于扩展中跨域请求的页面。 您可以在此处阅读更多内容: https//developer.chrome.com/extensions/xhr#requesting-permission

通过将主机或主机匹配模式(或两者)添加到清单文件的权限部分,扩展可以请求访问其源外的远程服务器。

  ask by Cobaltway translate from so

未解决问题?本站智能推荐:

1回复

在Chrome扩展程序中使用Ajax查询

我正在尝试构建一个chrome扩展程序,该扩展程序将打开当前域的使用期限,并根据该使用期限生成不透明度值,并将该不透明度值应用于要放置在当前页面顶部的覆盖层。 这是我不工作的方法: 的manifest.json background.js 奇怪的是,这段代码可以在普通
1回复

在Chrome扩展程序中使用AJAX获取目录中的文件数

我想使用JS和AJAX(在我的chrome扩展程序中)获取目录中的图像数量。 我怎样才能做到这一点? 我在下面添加了当前代码。 由于我没有收到警报,因此它似乎无法正常工作。 main.js main.html manifest.json
1回复

Chrome扩展程序中的域授权

需要通过ajax对chrome扩展中的远程服务进行跨域请求。 当用户在使用扩展程序之前获得服务授权时,一切正常。 但是当一个非协作用户使用401错误代码(unathorized)进行请求扩展失败时。 我的目的是完成浏览器般的外观 。 如果您未在某个网页上获得授权,则会出现一个对话
1回复

我需要提供哪些权限(如果有)我的Chrome扩展程序才能让它进行远程AJAX调用?

我为我的图书馆编写了Chrome扩展程序。 它向api.library.edu (学校的图书馆)发出AJAX调用。 我的扩展使用jQuery,我的代码如下所示: 当我加载我的扩展时,它进行AJAX调用,然后我恢复数据。 现在我完全没有权限扩展我的permissions (
2回复

Chrome扩展程序中的跨域XHR失败

我正在这样的弹出页面中执行跨源XHR: 这是清单中的权限:(我写了“ <all_urls>”,但发布到Chrome网上应用店后,它的作用如下) 问题是,有时XHR可以正常工作,但是有时 (例如重新启动浏览器,切换到另一台计算机),我收到以下错误: 顺便说一句,
2回复

chrome扩展程序上的$ .getJSON无法正常工作

我正在创建一个chrome扩展程序,并希望能够从用户名获取个人资料图片。 不幸的是,该网站没有api,个人资料URL和个人资料名称之间没有关联。 我想我可以劫持搜索ajax并使用它来实现我的目标。 不幸的是,它似乎没有用。 我已经添加了权限,并且该权限未在内容脚本中运行,但仍无法正常工作
4回复

Chrome扩展程序ajax发送格式错误的重音字符

我在chrome扩展程序上使用jQuery发送一个AJAX POST请求,但数据没有按预期到达,重音字符变得格格不入。 文字“HÄGERSTEN”变成“H”GERSTEN“。 该文本在控制台等中显示正常,只有通过AJAX才能显示如上所述的其他页面。 我的AJAX调用是基本的,我通过
1回复

Google Chrome扩展程序$ .ajax发布事件处理程序错误

我做了一个登录函数,它返回: 提琴手显示请求成功,我得到了令牌,但是chrome抛出了这种异常: extensions :: uncaught_exception_handler:8(未知)事件处理程序中的错误:TypeError:无法读取未定义的属性'error' 我
1回复

Chrome扩展程序内容脚本可以对本身就是Chrome扩展程序一部分的html文件发出jQuery AJAX请求吗?

我正在使用Chrome扩展程序内容脚本 ,该脚本将在特定页面上将其他内容注入到页面上,以向现有网站添加功能。 我的Chrome扩展程序中有一个HTML文件,其中包含要添加内容的模板。 我希望我可以使用jQuery检索该HTML模板。 我最初尝试了一个简单的jQuery AJAX请求,如
1回复

无法在Chrome扩展程序内发送jQuery Ajax HTTP请求

我想在Google Chrome扩展程序中发送jQuery Ajax HTTP请求。 我已经导入了jQuery库,并且使用了以下代码: 但是无论何时尝试,它都会显示一条消息: 但是当我在扩展名之外(作为单个html页面)运行相同的HTML页面(已导入此javascript代码)