ozon 发表于 2022-6-7 17:22:56

$美元符号报错是什么原因


js也引用了
// @require      https://cdn.staticfile.org/jquery/3.3.1/jquery.min.js

油猴脚本里能正常使用,在控制台用就报错

360极速浏览器 控制台
!(data/attachment/forum/202206/07/171645uo62n9pb42ottgd4.png)

极品小猫 发表于 2022-6-7 17:22:57

大佬们都说完了……再补充点
$$ 是原生的选择器功能,相当于 document.querySelectorAll,不具备 jQuery 的任何功能

如果想要使用 jQuery 做测试,可以用下面的简便办法
相关知识点基础详见:https://bbs.tampermonkey.net.cn/thread-160-1-1.html

声明没有使用 //@grantnone
那么脚本的将会在沙箱环境中运行,脚本里引入的jQuery,控制台正常情况下无法直接操作这个jQuery,最方便的办法是把脚本里的jQuery给暴露到网页中

也就是说,你现在使用的 $ 操作符,有可能是网页自己的,这就导致了萌新开发常常容易遇到楼主的问题。(这只是其中一个可能性)
可以通过 jQuery.fn.jquery
去查看 jQuery 版本号

为了方便使用 jQuery,而不使得原生环境遭到破坏,这里需要用到 unsafeWindow 接口,声明引入
//@grant    unsafeWindow

然后脚本代码中插入这段代码
unsafeWindow.gmJquery=$;
这样你就可以直接在控制台中通过 gmJquery 去使用 jQuery 操作。

这样可以节省很多控制台操作

wwwwwllllk 发表于 2022-6-7 17:28:10

假如我不引入jquery,在控制台用$$(".name") ,表示拿到为name的class的属性。这样就可以拿到了。

ozon 发表于 2022-6-7 17:47:23

wwwwwllllk 发表于 2022-6-7 17:28
假如我不引入jquery,在控制台用$$(".name") ,表示拿到为name的class的属性。这样就可以拿到了。 ...

我去还这样 谢谢大佬学到了,但是我经常用这个选择器,真的很方便,但是有些网页可以有些又不行.遇到报错就只能改油猴脚本来测试,太麻烦了{:4_88:}

https://www.runoob.com/jquery/jquery-ref-selectors.html
:contains(text)        $(":contains('Hello')")        所有包含文本 "Hello" 的元素

王一之 发表于 2022-6-7 18:08:56

wwwwwllllk 发表于 2022-6-7 17:28
假如我不引入jquery,在控制台用$$(".name") ,表示拿到为name的class的属性。这样就可以拿到了。 ...

woc 原生的,学到了

!(data/attachment/forum/202206/07/180854gtrmzthsrrsco9m3.png)

steven026 发表于 2022-6-8 23:34:58

油猴require只能在油猴里用
如果你想在控制台引入jQuery方便调试,可以把jQuery引入到<head>标签下
具体js代码var script=document.createElement("script");
script.type="text/javascript";
script.src="https://cdn.staticfile.org/jquery/3.3.1/jquery.min.js";
document.getElementsByTagName('head').appendChild(script);

李恒道 发表于 2022-6-14 16:52:35

猫叔已经补充差不多了
你如果对沙箱内容更感兴趣
可以参考油猴的本质系列解读
![图片.png](data/attachment/forum/202206/14/165228jv0msvvbazzeuzu5.png)

ozon 发表于 2022-6-14 17:54:32

李恒道 发表于 2022-6-14 16:52
猫叔已经补充差不多了
你如果对沙箱内容更感兴趣
可以参考油猴的本质系列解读


谢谢大佬,我还以为是发在脚本开发那个板块了{:4_108:}

李恒道 发表于 2022-6-14 18:16:37

ozon 发表于 2022-6-14 17:54
谢谢大佬,我还以为是发在脚本开发那个板块了

没。。。我每次上头了就直接随手挑个差不多板块发= =
其实我自己都找不到在哪里。。。笑死
页: [1]
查看完整版本: $美元符号报错是什么原因