小编Ano*_*ous的帖子

谷歌chrome扩展:如何在页面重新加载后立即注入脚本?

我有一个后台脚本,定期重新加载当前选项卡.

var code = 'window.location.reload();';
chrome.tabs.executeScript(my_active_tab, {code: code});
Run Code Online (Sandbox Code Playgroud)

每次重新加载页面后,我立即要注入另一个脚本.

chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab){
    if (changeInfo.status == 'complete') {
        chrome.tabs.executeScript(tabId, { file: "my_script.js" });
    }
});
Run Code Online (Sandbox Code Playgroud)

以上是我目前的代码.问题是,它工作但速度太慢,因为它在每个图像加载后都会等待.

我的目标是在DOM加载后立即执行脚本.有任何想法吗?

javascript google-chrome background-process google-chrome-extension

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

Node.js 检查控制台命令返回未定义的错误

我用以下命令启动我的脚本:

node --inspect=1234 index.js
Run Code Online (Sandbox Code Playgroud)

然后打开 Chrome 开发工具检查器并连接到它。

如果我输入console.log('hello')它工作并将消息输出到控制台

但是,如果我键入脚本中包含的任何函数变量,则会引发错误:

未捕获的 ReferenceError: "my func / var" is not defined(…)(anonymous function) @ VM107:1

如何让它看到并允许与我的脚本内容进行交互?

inspect web-inspector node.js inspector google-chrome-devtools

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

如何将Cookie放入数组中?

我正在尝试为cookie存储数组,但是我收到以下错误:

警告:setcookie()期望参数2为字符串,给定数组

我怎样才能将数组实际放入cookie?

编辑2:我编辑了代码,我现在存储了cookie数组,但是我遇到了一个巨大的问题.如果第二个数组的大小较小,它不会覆盖第一次提交的值.

例.第一提交数组[1206,0402],第二提交数组[0402].但结果是[0402,0402],这是错误的.

function cuukko($var,$val){
    setcookie($var,$val,time()+60*60*24*365);
}

function preg_DW($var){
    global $isset;
    if ($isset&&is_array($_POST[$var])&&sizeof($_POST[$var])>0){
        $C=0;
        foreach ($_POST[$var] as $key => $value) {
            $val[$C]=trim(preg_replace('/\s\s+/',' ',preg_replace('/[^\d\w\s\(\)\[\]]+/','',$value)));
            cuukko($var."[".$C."]",$val[$C]);
            $C++;
        }
    } elseif (isset($_COOKIE[$var])) $val=$_COOKIE[$var];
        return (sizeof($val)>0)?$val:array();
}
Run Code Online (Sandbox Code Playgroud)

编辑3:问题已经解决.现在使用的代码:

function cuukko($var,$val){
    setcookie($var,$val,time()+60*60*24*365);
}

function preg_DW($var){
    global $isset;
    if ($isset){
        $C=0;
        if (is_array($_COOKIE[$var]))
        foreach($_COOKIE[$var] as $key =>$trash)
        setcookie("{$var}[".$key.']', '', time()-60*60*24*365);
        if (is_array($_POST[$var]))
        foreach ($_POST[$var] as $key => $value) {
            $val[$C]=trim(preg_replace('/\s\s+/',' ',preg_replace('/[^\d\w\s\(\)\[\]]+/','',$value)));
            cuukko($var."[".$C."]",$val[$C]);
            $C++;
        }
    } elseif (isset($_COOKIE[$var])) $val=$_COOKIE[$var];
        return (sizeof($val)>0)?$val:array();
}
Run Code Online (Sandbox Code Playgroud)

php arrays cookies

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

点击背景+元素的Jquery选择器?

我似乎无法找到一个正确的方法来制作一个选择器,它应该只在DIV的背景和主图像上点击 - 如果有一个,但如果我点击该div中的其他一些元素 - 像一个hrefs等 - 它什么都不做.

我试过这个:

$('#SHOWCASE, #SHOWCASE > img')
Run Code Online (Sandbox Code Playgroud)

Showcase - 是DIV的ID,img是直接附加到它的图像.但是,如果我添加.Click函数,它仍会触发该div中的任何元素,如链接等,请注意这些链接也具有绝对位置.

那有什么解决方案吗?

html css jquery click selector

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