菜鸟一只,为了方便就按照 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 。怎么查同样问题都找不到,结果是自己疏忽了。碰见问题光看代码那一块了,没想过问题居然出在引用链接上了。 |