标签: google-chrome-extension

在 Chrome 扩展 (V3) 中使用 fetch() 时,使用 declarativeNetRequest 设置“Referer”标头

我正在使用清单 V3 开发 chrome 扩展。该扩展的核心功能是使用户能够将数据从网站发送到我的 django 应用程序的 REST API,其中用户已经登录。在本地测试时一切都很好,但是当我去登台测试时,我发现使用 HTTPS django 需要在 POST 标头中使用“referer”来进行 CSRF 保护。

据我发现,chrome 扩展只是不附加该标头。所以我declarativeNetRequest使用以下代码尝试了 API。然而,这仅当我在选项卡中打开 URL 时才有效。当调用 fetch 来发布到相同的 URL 时,规则不匹配。这是在 V3 中使用 fetch 时强制引用标头的正确方法吗?谢谢!

清单.json:

...

"permissions": [
    ...
    "declarativeNetRequestWithHostAccess",
    "declarativeNetRequestFeedback"
  ],
  "declarative_net_request": {
    "rule_resources": [{
      "id": "ruleset_1",
      "enabled": true,
      "path": "rules.json"
    }]
  },

...
Run Code Online (Sandbox Code Playgroud)

规则.json:

[
  {
    "id": 1,
    "priority": 1,
    "action": {
      "type": "modifyHeaders",
      "requestHeaders": [
        {
          "header": "Referer",
          "operation": "set",
          "value": "whatever"
        }
      ]
    },
    "condition": {
      "urlFilter": "https://api.myserver.com",
      "resourceTypes": …
Run Code Online (Sandbox Code Playgroud)

google-chrome-extension django-rest-framework fetch-api

0
推荐指数
1
解决办法
1690
查看次数

将运算符从字符串类型转换为运算符类型

我想随机生成这样的东西.

233 + 333 = 566

我的意思是第一个数字,运算符和第二个数字是随机生成的.

所以,我现在写了这个代码.

var x = parseInt(Math.random()*1000),
    y = parseInt(Math.random()*1000),
    operators = ['+', '-', '*', '/'],
    operatorNum = parseInt(Math.random()*4),
    operator = operators[operatorNum],
    result;

result = x + operator + y;
Run Code Online (Sandbox Code Playgroud)

但这只是给我一个像"748/264"字符串的东西.它没有给我生成计算的结果.

我想我需要将运算符从字符串转换为运算符类型.但是,我认为没有运营商类型.

编辑

我正在构建Chrome扩展程序.根据Chrome扩展程序政策,我不允许使用该eval功能.

javascript jquery google-chrome-extension

-1
推荐指数
2
解决办法
4392
查看次数

如何在Chrome应用程序中打开base64 PDF?

我有一个简单的 Chrome 应用程序。有一个base64字符串。在其中,我存储了一个 PDF 文件,我想在新的windowiframe.

\n\n

我尝试使用创建一个 iframe src="data:application/pdf;base64,.."

\n\n

之后,我收到此错误:

\n\n
\n

拒绝从\n \'data:application/pdf;base64,JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3R\xe2\x80\xa6Q4RUU5MzdDRDQyM0RFNEI4MTkzNDU3MzIzMTM2OQo+PgpzdGFydHhyZWYKMj加载插件数据A0NTQKJSVFT0YK\'\n 因为它违反了以下内容安全策略指令:\n "default-src \'self \' chrome 扩展资源:“。请注意,\n \'object-src\' 未显式设置,因此 \'default-src\' 被用作\n 后备。

\n
\n

javascript pdf iframe base64 google-chrome-extension

-1
推荐指数
1
解决办法
2万
查看次数

如何获取页面上图像的所有 url 列表

我一直致力于创建我的第一个 chrome 扩展。我已经完成了几个可以在https://developer.chrome.com/extensions/getstarted上找到的示例扩展

如何制作一个扩展程序,以返回 Chrome 中打开的选项卡上所有图像的 url 列表?我已经问过这个问题,但我已经更新了我的问题,希望能让它更清楚。

我知道 javascript 的基础知识,所以我想用该语言创建扩展。这与另一个不同,因为我想获得完整的 url,我想使用简单的 javascript 而不是尝试使用我不知道的 json。

这是我的 manifest.json 文件

{
"name": "Getting Started",
"description": "Get The sources of the images",
"version": "2.0",
"permissions":[
    "activeTab",
    "tabs"
],
"browser_action":{
    "default_title": "Image Source",
    "default_popup": "popup.html"
},
"content_scripts":[
    {
        "matches": ["<all_urls>"],
        "js": ["content.js"]
    }
],
"manifest_version": 2 
}
Run Code Online (Sandbox Code Playgroud)

这是我的 content.js 文件

var len = document.images.length;
var imgs = document.images;
var sources = "";
for (var i = 0; i < imgs.length; i++){
     sources …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome google-chrome-extension

-1
推荐指数
1
解决办法
3096
查看次数

如何在Chrome扩展程序中存储大数据?

我对javascript和chrome-extension非常陌生,我尝试创建阻止某些域的扩展。我想将这些域存储在文件中,也许使用adblock的方法。

我知道有,localstorage但是这是存储数据的唯一方法吗?

如果存储在文件中,如何从javascript扩展名中打开它?

谢谢

javascript google-chrome google-chrome-extension

-1
推荐指数
1
解决办法
692
查看次数

有可能获得mp3的比特率吗?

我的Chrome扩展程序显示了.mp3文件链接列表,我需要获取每个元素的比特率.我该怎么计算呢?

UPDATE

解决了它.

javascript google-chrome-extension

-2
推荐指数
1
解决办法
2527
查看次数

Firefox mozilla Web扩展:如何从后台页面知道选项卡何时完成加载

通过Mozilla中的Web扩展加载Page后,我想执行操作,

我尝试了与波纹管相同的镀铬方法

 browser.tabs.onUpdated.addListener(function (tabId , info) {
   if (info.status === 'complete') {
   // your code ...
   }
});
Run Code Online (Sandbox Code Playgroud)

但是它不能很好地工作,在某些情况下,我无法获得“完整”状态,有时网页中存在多个iframe。

那么,有什么解决方案来检查天气页加载完成吗?

javascript mozilla google-chrome-extension firefox-addon-webextensions

-2
推荐指数
1
解决办法
505
查看次数

如何使用JavaScript下载文件

如何使用JavaScript下载文件?

请不要给我答案

"Change theMIMEin the sever"

要么

window.open(URL,"_blank")

因为我知道还有其他解决方案.谢谢.

编辑:
我要下载的.JSON文件是一个文件.

javascript google-chrome-extension

-3
推荐指数
1
解决办法
2852
查看次数