jquery抓取网页内容(如何直接将本地h5h5网页封装成APP,简单粗暴的方法 )
优采云 发布时间: 2021-12-02 17:07jquery抓取网页内容(如何直接将本地h5h5网页封装成APP,简单粗暴的方法
)
最近在想怎么把本地的h5网页直接封装成一个APP,数据是通过jquery的ajax方法直接读取在线网页。但是由于安全问题,js无法跨域请求。网上给出了一些解决方法,但是太复杂了。花了很长时间研究透彻,好在我终于找到了一个简单粗暴的方法。首先,让我解释一下 cors-anywhere 是一个非常有趣的东西。网上最多的教程是解决微信公众号图片防盗链问题,但实际上完美解决了跨域网页代码读取问题。我开始的想法也是可以实现的。
参考csdn博客,用户Mr_Sparta的文章。
主要功能的js代码如下,需要引入jquery
$.ajaxPrefilter(function (options) { //对于cors-anywhere接口所定义的方法
if (options.crossDomain && jQuery.support.cors) {
var http = (window.location.protocol === 'http:' ? 'http:' : 'https:'); //访问的模式
options.url = http + '//cors-anywhere.herokuapp.com/' + options.url; //对于接口设置请求的带参数url
}
});
$.get( //定义ajax中的get()方法
'https://www.ruletree.club', //这里为请求的地址,我设置为我的博客
function (response) {
$("#html").html(content); //将获取到的内容写入id为content的html元素内
});
html代码如下,我设置的很简单
这里放置读取完成之前显示的内容,比如一个进度条或者转动的加载球
最后,至于timeout等方法,我没有写。这不是很难。只需让js在页面加载后几秒内开始识别带有id内容的div中的内容即可。如果没有变化,就会显示超时信息,这对ajax来说是不够的我没试过原生的超时判断。
你可以自己试试:
下载链接:dq.zip
喜欢 1
报酬
千山万水相亲相爱,赏赐好不好?报酬