Tag: 谷歌浏览器

Access-Control-Allow-Origin不允许源http:// localhost:3000

XMLHttpRequest cannot load http://localhost:8080/api/test. Origin http://localhost:3000 is not allowed by Access-Control-Allow-Origin. 我阅读了关于跨域的Ajax请求,并了解了底层的安全问题。 就我而言,2台服务器在本地运行,并且喜欢在testing期间启用跨域请求。 localhost:8080 – Google Appengine dev server localhost:3000 – Node.js server 我正在向localhost:8080 – GAE server发出一个ajax请求,而我的页面是从节点服务器加载的。 什么是最简单的,最安全的(不想用disable-web-security选项启动chrome)。 如果我必须更改'Content-Type' ,我应该在节点服务器上执行吗? 怎么样?

资源被解释为样式表,但是以MIMEtypestext / html传输(似乎与web服务器无关)

我有这个问题。 Chrome继续返回这个错误 资源被解释为样式表,但是以MIMEtypestext / html传输 受此错误影响的文件只是样式,select和jquery-gentleselect(其他CSS文件,以相同的方式导入索引,运行良好,没有错误)。 我已经检查过我的MIMEtypes,并且CSS / CSS已经是text / css了。 老实说,我想先从理解这个问题开始(这似乎是我不能单独做的事情)。

检测Chrome扩展程序首次运行/更新

扩展程序如何能够发现它是第一次运行还是刚刚更新,以便扩展可以执行一些特定的操作? (例如打开帮助页面或更新设置)

如何检测Youtube上的页面导航并在页面呈现之前修改HTML?

我正在制作一个简单的Chrome扩展程序,将YouTube播放列表中每个video的长度相加,然后在页面中插入总长度。 我已经成功了,但是我的脚本只在刷新页面后才起作用,但是在导航站点时不起作用。 虽然这不是很方便。 是否有可能在Youtube上检测到页面导航,并在浏览器中呈现HTML之前将HTML插入到页面中,以便立即显示添加的内容,且不需要任何页面刷新? 示例链接: https : //www.youtube.com/playlist?list = PL_8APVyhfhpdgMJ3J80YQxWBMUhbwXw8B PS我的问题与在greasemonkey脚本中显示(不是页面完全加载后)立即修改元素是不一样的吗? 因为我试过MutationObserver,问题是一样的 – 需要刷新才能显示对网页的更改: var observer = new MutationObserver(function(mutations) { for (var i=0; i<mutations.length; i++) { var mutationAddedNodes = mutations[i].addedNodes; for (var j=0; j<mutationAddedNodes.length; j++) { var node = mutationAddedNodes[j]; if (node.classList && node.classList.contains("timestamp")) { var videoLength = node.firstElementChild.innerText; observer.disconnect(); var lengthNode = document.createElement("li"); var […]

从Background.js在页面级执行代码并返回值

我有一个自己的脚本和variables,我需要执行和检索我的扩展的Background.js返回值的网页。 我明白(我想!)为了与网页交互,它必须通过chrome.tabs.executeScript或ContentScript完成,但是因为代码必须在原始页面的上下文中执行(为了有范围到脚本和variables),它需要首先注入页面。 在Rob W的这篇伟大的文章之后,我可以调用页面级脚本/variables,但是我正在努力理解如何以这种方式返回值。 这是我到目前为止… 网页代码 (我想与之交互): <html> <head> <script> var favColor = "Blue"; function getURL() { return window.location.href; } </script> </head> <body> <p>Example web page with script content I want interact with…</p> </body> </html> manifest.json : { // Extension ID: behakphdmjpjhhbilolgcfgpnpcoamaa "name": "MyExtension", "version": "1.0", "manifest_version": 2, "description": "My Desc Here", "background": { "scripts": […]

别名为chrome console.log

我想知道为什么下面的代码在Google Chrome中不起作用: // creates a xss console log var cl = ( typeof( console ) != 'undefined' ) ? console.log : alert; cl('teste'); 输出:未捕获TypeError:非法调用 谢谢。

清除谷歌浏览器中的JavaScript控制台

我想知道如果我能用一些命令清理控制台.. console.log() ,可以打印…有清除控制台的命令?.. 我试图console.log(console); 并在下面得到这个function… assert: function assert() { [native code] } constructor: function Console() { [native code] } count: function count() { [native code] } debug: function debug() { [native code] } dir: function dir() { [native code] } dirxml: function dirxml() { [native code] } error: function error() { [native code] } group: […]

Chrome扩展程序如何将许多文件保存到用户指定的目录?

我正在使用Chrome扩展作为内部工具。 其要求的行为是: 作为页面操作,在查看特定的Intranet页面时启用地址栏图标。 当用户点击图标时,识别页面上某个媒体types(比如说.jpg)的所有文件 静静地将它们全部保存到用户本地驱动器上的目录中。 这个问题之前已经被问过了 ,但是答案是“ 使用NPAPI ”, NPAPI现在是失效的 。 那么,现在有什么办法可以实现呢? 我看过的是: chrome.FileSystem API–但是这不会将文件保存在任何用户可访问的位置。 相反,存储的文件隐藏在未公开目录中的混淆名称后面 。 用户要求文件以原始名称存储在可访问的目录中。 HTML5下载属性 ,通过创build一个data:URL并以编程方式点击它。 这会popup每个文件的“另存为…”对话框,当单个页面上有一百个资源时,这是不可接受的。 用户需要下载文件,而不需要单一图标点击以外的进一步交互。 Chrome下载API ,但只能在testing版和开发者版中使用。 用户需要使用主streamChrome的扩展程序。 通过创build一个小的.exe文件来简单地将文件保存到磁盘,然后将.jpg作为一个blob传递给它,使用本地消息API 。 这似乎非常麻烦,我甚至不知道如何可靠地通过大块到EXE这样的。 我可以尝试另一种方法吗?

Gmail扩展,sendMessage从页面上下文背景

我正在构build一个扩展,以便与Gmail集成,并通过将gmail.js注入页面上下文来与Gmail集成,如下所示: https : //github.com/KartikTalwar/gmail-chrome-extension-boilerplate/blob/master /content.js 这似乎是利用Googleembedded在页面上的一些全局variables的唯一显而易见的方式。 所以现在,我需要回到扩展的一些function。 在正常情况下(通过内容脚本运行),我会向后台脚本发送一条消息,但是在标签本身的上下文中甚至可能发生这种情况?

jQuery .load()在Chrome中不起作用

.load()工作正常,但由于某种原因,它现在不在Chrome(大概是某种更新)。 我在Chrome 5.0.375.55上。 我已经隔离了这个问题: index.htm的 <html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function () { $('#reader').load('test.htm'); }); </script> </head> <body> <div id='reader'>Loading …</div> </body> </html> TEST.HTM <h1>Loaded successfully</h1> 这适用于Firefox和IE浏览器,但在Chrome浏览器中,它不会replace#reader div的内容。 编辑:我应该补充说,我正在本地运行,它永远不会被部署在Web服务器上。 编辑2:我试过.load('file:///C:/path/to/test.htm')在FF中,但不是铬。