- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道使用以下内容将在我的 Google Chrome 扩展程序上加载带背景的文本,并将其 chop 为前四个字母。
chrome.browserAction.setBadgeBackgroundColor({ color: [255, 0, 0, 255] });
chrome.browserAction.setBadgeText ( { text: "loading" } );
但是我想做的是允许显示 js 脚本的字符串结果的部分显示 loading
。我已经在网络和 StackOverflow 上查看了答案,但我还没有找到与我想要做的事情相关的任何内容,因此我决定在这里提出问题。
我的manifest.json已加载后台,js:
"background": {
"scripts":["background.js"]
}
background.js -然后在 background.js
中,我一直试图通过加载 number.js
的结果来让它工作> 但我就是无法让它发挥作用。我知道这里的代码是错误的,因为我把它弄乱了,但我将包含它,以便您可以了解我正在尝试做什么:
var imported = document.createElement('script');
imported.src = 'number.js';
document.head.appendChild(imported);
chrome.browserAction.setBadgeBackgroundColor({ color: [255, 0, 0, 255] });
chrome.browserAction.setBadgeText ( { text: "loading" } );
chrome.tabs.executeScript(null,
{code:"globalVarName = {'scriptOptions': {...}};" },
chrome.tabs.executeScript(null, {file: "number.js"},
number.js - 然后我最终尝试加载的是 number.js
中的字符串:
var ip = "chromahills.net";
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://minecraft-api.com/v1/get/?server=" + ip, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
data = JSON.parse(xhr.responseText);
if (data.status) {
document.write(data.players.online);
} else {
document.write("Fail");
}
}
}
xhr.send();
问题
所以,为了开门见山,我的问题如下:
.setBadgeText
中包含 JavaScript 字符串?我知道这是一个相当长的文本 block ,但我尝试包含尽可能多的细节,以便您可以理解我正在尝试做什么,并希望解释一种更好的方法来完成我正在做的事情,即使它是实际上是可能的。
我已经删除了我的进度以避免混淆,现在问题已解决。如果您想查看我尝试过的内容,请单击此处 -> http://jsfiddle.net/lukexf/5d72Q/或阅读下面的解决方案
最佳答案
当然,您可以在 .setBadgeText
中显示 Javascript 字符串,事实上,这是您可以在那里显示的唯一内容:-)
所以,我试图理解你的问题的诀窍......我认为你想以某种方式调用 number.js,然后检索输出(document.write的部分
写入屏幕)。
但这将是错误的方法。
为什么不直接在background.js中实现以下代码(您可以在其中轻松访问badgeText)?
var ip = "chromahills.net";
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://minecraft-api.com/v1/get/?server=" + ip, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
data = JSON.parse(xhr.responseText);
if (data.status) {
chrome.browserAction.setBadgeText ( { text: data.players.online.toString() } );
} else {
chrome.browserAction.setBadgeText( { text: "Fail" });
}
}
}
xhr.send();
关于javascript - chrome.browserAction.setBadgeText 可以从脚本加载字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23869539/
我正在制作一个带有 "default_popup":"popup.html" 的 Chrome 扩展。 chrome.browserAction.onClicked 的文档说: Fired when
我正在学习如何编写 chrome 扩展,我发现一个例子,使用 browseraction 可以更改网页的背景颜色,我正在尝试做一些非常相似的事情,更改背景图像,但出于某种原因...它不起作用,js 函
我正在尝试添加一个数字,当您将鼠标悬停在 chrome 扩展图标上时,该数字将显示,并且该数字将随着脚本运行而改变。但是,当我添加 chrome.browserAction.setTitle({
我想制作一个 Chrome 插件,它可以显示 Facebook 图片。我的例如是 this one . 我确实得到了最终的 Url 和 XMLHttpRequest 的响应。 在response.re
文档说我们只能有 browserAction 或 pageAction 而不是两者。这有什么诀窍吗?或者作为解决方案,使用内容脚本并在页面中插入按钮是个好主意吗? 最佳答案 在 Chrome 的 ch
我有一个 Android 应用程序可以创建本地 HTML 文件,然后在浏览器中将其显示给用户。我遇到过 BrowserActivity 无法在不同设备上运行的问题,具体取决于安装的浏览器。我当前的代码
我知道使用以下内容将在我的 Google Chrome 扩展程序上加载带背景的文本,并将其 chop 为前四个字母。 chrome.browserAction.setBadgeBackgroundCo
我正在构建一个 chrome 扩展,其中添加 chrome.browserAction.onClicked.addListener(functioncallback) 监听器,但我一次只需要保留一个监
我正在制作一个 chrome 扩展程序,该扩展程序有两种模式:始终打开 (alwaysOn),或者仅当用户单击它时 (onClick)。我想根据用户的模式将图标更改为蓝色或红色,以便他们一眼就能看到。
我的扩展程序使用 tab.url 获取数据并将其放入 chrome.browserAction.setBadgeText。当我打开一个新标签时,它会重置。如何仅为新标签更新 BadgeText?并为旧
我想触发点击,下面的代码正在监听: chrome.browserAction.onClicked.addListener(function(tab) {}); 原因是我有一个工作扩展,它在后台脚本(上
我的 Chrome 扩展程序中的 browserAction 需要大约 250 毫秒才能显示其弹出窗口,popup.html .然而,当 popup.html已经在浏览器的选项卡中打开,然后 brow
我正在编写一个 Chrome 扩展程序,它会根据当前 URL 动态更改弹出窗口的内容。 我在 background.js 中做这样的事情,效果很好: if(domains.contains(reque
我们开发了一个 Chrome 扩展程序,我想在用户单击我们的图标时打开一个新选项卡。但问题是,我不知道我之前是否已经添加了这个事件监听器,以及它的有效期是多长时间。我尝试使用 chrome.brows
我想单击扩展程序的浏览器操作,然后在滚动之前加载 iframe。window.addeventlistener("load",scroll, false); 似乎是现在的问题。 我知道内容脚本将使 w
我正在为我的网站制作一个专用扩展程序,我想知道是否可以让该扩展程序仅响应我网站上的特定按钮单击。我希望能够在用户单击页面上的捕获按钮时执行 captureVisibleTab。 最佳答案 概述 注入(
我的问题相当简单,我只是想找出最简单的方法来做到这一点。 我的 Chrome 扩展程序的当前迭代通过一个按钮将 DIV 注入(inject)网页,按下该按钮时将执行一个功能。 我想在不注入(injec
我喜欢在 Chrome 扩展中切换 browserAction,它应该独立于选项卡 这是代码 Manifest.json { "name": "Toggle", "
我正在创建一个 chrome 扩展,但是我的 browser action不工作。 我的 list .jason { "name": "TypoSaurus", "version":
I'm looking at the documentation page我不知道我的代码有什么问题: chrome.browserAction.setIcon({ details.imageDa
我是一名优秀的程序员,十分优秀!