Javascript检查网址是否存在并检查显示的一些信息
我想知道是否有任何方法检查网址是否存在并检查信息。Javascript检查网址是否存在并检查显示的一些信息
在这里,你有什么我的意思是一个例子:
- 想象你在“https://de.yahoo.com/?p=us”网页。
- 然后使用Javascript检查,如果“https://www.google.com”的存在,如果它包含了两个词“谷歌”和“雅虎”
- ,如果它存在:
- 检查的“google”一词是在页面:
- 如果存在回归 “真实”
- 如果它不返回 “假”
- 检查单词“雅虎”在页:
- 如果存在返回“真”
- 如果,如果它不它不返回“假”
- 检查的“google”一词是在页面:
- “T存在:
- 返回 “假”
- ,如果它存在:
在这个答案中为你写一个完整的代码解决方案对我来说可能是不可能的,但我会为你设置一个通路。通过遵循它你可以得到想要的结果。
首先,获取不属于您的域或您的控制权的网页内容将不可能通过javaScript,因为浏览器将阻止它,除非在该域上启用CORS。
为了克服这个不足,你需要通过服务器端脚本来获取页面内容,很可能你会使用php。因此,在您的服务器上创建一个文件,您将使用所需的url作为数据发出ajax请求。在jQuery中,你可以做到这一点如下:
$.ajax('getPage.php', {
data: 'url=your desired url'
}).success(function (data) {
//Process the data
}).error(function() {
//Error Handler
});
现在PHP文件,使用卷曲或get_file_contents工作以从页面获取数据
你可以做这样的事情在getPage.php
$page = file_get_contents($_GET['url']);
echo $page;
现在,您可以使用JavaScript并解析通过ajax接收的内容并检查您的关键字,也可以在getPage.php文件中正确解析并返回true或false。
如果您想在同一个域,子域,端口或协议上执行此操作,可以为您的AJAX请求设置JSON响应,并假设响应将包含所有必需的信息:"checkResults"
Ajax将如下所示:
$.ajax({
type: "GET",
url: "YourURL",
dataType: "json",
success: function (data.checkResults) {
//do whatever
}
});
这不能在不同的域,子域,端口或协议上完成。除非CORS被启用,这可能不是这种情况。
注意
由于浏览器的安全限制,大多数Ajax请求受到 的同源策略;该请求无法成功检索来自不同域,子域,端口或协议的 数据。脚本和 JSONP请求不受相同的源策略限制。
SEE:Breaking-cross-domain这是真正有用的
CORS任何地方 CORS Anywhere是它增加了CORS标头的代理请求的node.js代理。 要使用API,只需在URL前加上URL即可。 (HTTPS支持:见[github repository][3]
)
如果你想自动启用跨域请求需要的时候,可以使用下面的代码片段:
$.ajaxPrefilter(function (options) {
if (options.crossDomain && jQuery.support.cors) {
var http = (window.location.protocol === 'http:' ? 'http:' : 'https:');
options.url = http + '//cors-anywhere.herokuapp.com/' + options.url;
//options.url = "http://cors.corsproxy.io/url=" + options.url;
}
});
$.get(
'http://en.wikipedia.org/wiki/Cross-origin_resource_sharing',
function (response) {
console.log("> ", response);
$("#viewer").html(response);
});
信用:@jherax
您选中需要的网页有可能启用CORS,所以唯一的选择是创建代理脚本,它将获取第三方页面并返回结果。 – jcubic
你是否推荐我做任何教程或任何例子来做你的目的?非常感谢你! – Ignasi
您需要搜索如何使用您选择的服务器端脚本来获取页面。如果它是PHP,那么你可以使用curl或file_get_contents函数。 – jcubic