Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome扩展-在popup.html中激活当前选项卡的脚本_Javascript_Google Chrome Extension_Bookmarklet - Fatal编程技术网

Javascript Chrome扩展-在popup.html中激活当前选项卡的脚本

Javascript Chrome扩展-在popup.html中激活当前选项卡的脚本,javascript,google-chrome-extension,bookmarklet,Javascript,Google Chrome Extension,Bookmarklet,我不知道如何正确地问这个问题,因为很难解释,所以我将举一个例子 我想做的是弄清楚如何使用chrome扩展的popup.html中的链接激活书签之类的东西,该扩展将与当前选项卡交互 例如:如果单击chrome扩展图标,将出现一个弹出窗口(通常的下拉窗口)。在这个窗口中会有一个按钮,可以增加图像的大小(就像书签栏上的书签) 我想要的是该按钮与当前打开的选项卡交互,而不是popup.html页面 我拥有清单中的适当权限(所有URL和选项卡)以及正在定义的脚本。那里一切都很好。但我知道我的解决方案(不起

我不知道如何正确地问这个问题,因为很难解释,所以我将举一个例子

我想做的是弄清楚如何使用chrome扩展的popup.html中的链接激活书签之类的东西,该扩展将与当前选项卡交互

例如:如果单击chrome扩展图标,将出现一个弹出窗口(通常的下拉窗口)。在这个窗口中会有一个按钮,可以增加图像的大小(就像书签栏上的书签)

我想要的是该按钮与当前打开的选项卡交互,而不是popup.html页面

我拥有清单中的适当权限(所有URL和选项卡)以及正在定义的脚本。那里一切都很好。但我知道我的解决方案(不起作用)可能离目标很远,我甚至可能还没有接近目标。所以我在这里请求帮助

background.js

function zii() {

    function zoomImage(image, amt) {
        if (image.initialHeight == null) { /* avoid accumulating integer-rounding error */
            image.initialHeight = image.height;
            image.initialWidth = image.width;
            image.scalingFactor = 1;
        }
        image.scalingFactor *= amt;
        image.width = image.scalingFactor * image.initialWidth;
        image.height = image.scalingFactor * image.initialHeight;
    }
    var i, L = document.images.length;
    for (i = 0; i < L; ++i) zoomImage(document.images[i], 2);
    if (!L) alert("This page contains no images."); 

}
函数zii(){
功能缩放图像(图像,amt){
如果(image.initialHeight==null){/*避免累积整数舍入错误*/
image.initialHeight=image.height;
image.initialWidth=image.width;
image.scalingFactor=1;
}
image.scalingFactor*=金额;
image.width=image.scalingFactor*image.initialWidth;
image.height=image.scalingFactor*image.initialHeight;
}
变量i,L=document.images.length;
对于(i=0;i
popup.html

<button onClick="zii()">Test</button>
测试
后台函数也链接到popup.html页面内。实际的popup.html页面非常大,所以我只是在这里展示了它的基础知识,而没有包括与扩展的其他方面相关的所有代码

我显然不知道我做错了什么,也不知道我的尝试是否可能

目标摘要:
简单地说,我只想单击popup.html中的按钮,并增加当前打开选项卡上图像的大小(与使用bookmarklet进行此操作的方式相同)。

首先,我建议阅读有关的内容

如果要通过单击弹出窗口中的按钮在当前窗口中插入.js文件或某些代码,只需在按钮onclick处理程序中使用
null
作为第一个
tabId
参数(默认为当前窗口的活动选项卡)即可

例如:

chrome.tabs.executeScript(null, {
    code: "console.log('Injected.')"
});
或:


请确保在您的
manifest.json
权限中也有
“activeTab”

首先,我建议您阅读有关

如果要通过单击弹出窗口中的按钮在当前窗口中插入.js文件或某些代码,只需在按钮onclick处理程序中使用
null
作为第一个
tabId
参数(默认为当前窗口的活动选项卡)即可

例如:

chrome.tabs.executeScript(null, {
    code: "console.log('Injected.')"
});
或:


请确保在您的
manifest.json
权限中也有
“activeTab”

非常感谢。解决我的问题的原因很明显(正如你提到的),而且我甚至不知道“activeTab”权限。我只是觉得我必须用“标签”,非常感谢。解决我的问题的原因很明显(正如你提到的),而且我甚至不知道“activeTab”权限。我只是觉得我必须使用“标签”。