前言
不知道为什么,之前网站获取必应壁纸的请求突然失效了,菜鸡如我又不怎么会Php,思前想后,决定写个脚本用来暂时替代了
正文
脚本本身其实很简单,只有三步
一、创建按钮
这里用// @require JQuery
引入了JQuery,方便操作DOM
所以第一步的操作也很简单
$('input[type="submit"]').after()
我用了上面的方法将新的按钮附加在了原有的后面
二、发起请求
但是到第二部这里,碰到了常有的问题 CORS跨域请求
想来想去,包括谷歌浏览器跨域插件,或者JQ的跨域等,都没有较好的方法。这时候我突发奇想,搜索了下油猴跨域,突然就get到了GM_xmlhttpRequest
使用// @grant GM_xmlhttpRequest
引入后
// 我将请求写到了点击事件里
GM_xmlhttpRequest({
type: 'GET',
url: 'https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1',
headers: { "Content-Type": "application/json" },
onload: function(res) {
console.log(res.responseText)
}
})
这里直接控制台输出确保数据无误
三、替换链接
替换链接其实很简单
不过首先要先获得返回的JSON数据中对应的url
这里使用了eval
将JSON字符串解析为JSON数据
var json = eval('(' + res.responseText + ')') // JSON 对象
var url = json['images'][0]['url'] // 提取url
url = 'https://cn.bing.com' + url // 拼接域名
document.getElementsByTagName('input')[0].value = url // 替换链接
结语
至此大功告成,提交一下链接就可以替换网站背景图片了
版权属于:ajycc20
本文链接:https://ajycc20.top/archives/7.html
所有原创文章采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。 您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。