
菜鸟一只,为了方便就按照 JQ 的教程做了一个油猴插件。然后问题来了。
调试的时候,把网页源码复制为 html,本地调试就可以正常运作。
但是实际运行的时候却不能正常运作。
// 代码开始 (function() { 'use strict'; console.log('脚本运行'); document.title="hello"; //修改标题 $('h1').append('<button id="btn2">设置 HTML</button>'); /* $('headactions .notabs').click(function () { alert('将要进行搜索了'); }); */ get(); })(); function get() { console.log('获取文本'); var name = $(".postmessage.defaultpost h2").text(); //获取文章名 //方法 1 var a = $(".t_msgfont.noSelect:first").text(); var d = $("table "); //删除元素 //方法 2 /* var b = $(".t_msgfont.noSelect:first") .clone()//复制元素 .children() //获取所有子元素 .remove() //删除子元素 .end()//回到选择的元素 .text();//获取文本值 */ console.log(b); //文本内容测试 //调用下载 //saveShareContent(name+".txt",a); } function saveShareContent (Name,data) { alert('下载模块'); let downLink = document.createElement('a') downLink.download = Name //字符内容转换为 blod 地址 let blob = new Blob([data]) downLink.href = URL.createObjectURL(blob) // 链接插入到页面 document.body.appendChild(downLink) downLink.click() // 移除下载链接 document.body.removeChild(downLink) } <html> <!--在这里插入内容--> </html> 其中两个方法都可以在本地调试,但是方法二在实际网页调试的时候最后就会获取空白值。
以及在 h1 添加设置按钮也无法在实际网页中实现。
我是用的这个不可描述的网站……进行测试的。https://sis001.com/forum/thread-10704060-1-1.html
查了半天也没明白是怎么回事。有木有大佬帮我解答下疑惑。。明明两个的源码都是一样的。结果却不一样
2 shaoyang0 OP @Cusmate 有写引入 JQ 源码地址,目前的情况是,在在线页面无法正常获取。 而如果吧网站的源码复制下载,保存一个 html 。。这个脚本就能正常运行。 |
3 Cusmate 2020-05-12 14:09:15 +08:00 via Android @shaoyang0 我实际用 Greasemonkey 测试了你的脚本代码都能用,包括添加按钮和下载功能。从你的描述来看就是 jQuery 没起作用 |
5 shaoyang0 OP @Cusmate 谢谢大佬,我今天又看了下错误日志。发现的确是我忽略了 jq 的引用问题。我的 jq 是当时随手从 https://code.jquery.com/ 复制过来的。然而好像复制错链接了………… 现在从新添加了 JQ 的引用链接。已经可以正常使用了。 我还以为碰见了特别奇怪的 BUG 。怎么查同样问题都找不到,结果是自己疏忽了。碰见问题光看代码那一块了,没想过问题居然出在引用链接上了。 |