2016-04-22 135 views
0

我想知道是否有任何方法檢查網址是否存在並檢查信息。Javascript檢查網址是否存在並檢查顯示的一些信息

在這裏,你有什麼我的意思是一個例子:

  • 想象你在「https://de.yahoo.com/?p=us」網頁。
  • 然後使用Javascript檢查,如果「https://www.google.com」的存在,如果它包含了兩個詞「谷歌」和「雅虎」
    • ,如果它存在:
      • 檢查的「google」一詞是在頁面:
        • 如果存在迴歸 「真實」
        • 如果它不返回 「假」
      • 檢查單詞「雅虎」在頁:
        • 如果存在返回「真」
        • 如果,如果它不它不返回「假」
    • 「T存在:
      • 返回 「假」
+0

您選中需要的網頁有可能啓用CORS,所以唯一的選擇是創建代理腳本,它將獲取第三方頁面並返回結果。 – jcubic

+0

你是否推薦我做任何教程或任何例子來做你的目的?非常感謝你! – Ignasi

+1

您需要搜索如何使用您選擇的服務器端腳本來獲取頁面。如果它是PHP,那麼你可以使用curl或file_get_contents函數。 – jcubic

回答

0

在這個答案中爲你寫一個完整的代碼解決方案對我來說可能是不可能的,但我會爲你設置一個通路。通過遵循它你可以得到想要的結果。

首先,獲取不屬於您的域或您的控制權的網頁內容將不可能通過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。

0

如果您想在同一個域,子域,端口或協議上執行此操作,可以爲您的AJAX請求設置JSON響應,並假設響應將包含所有必需的信息:"checkResults" Ajax將如下所示:

$.ajax({ 
      type: "GET", 
      url: "YourURL", 
      dataType: "json", 
      success: function (data.checkResults) { 
       //do whatever 
      } 
     }); 

這不能在不同的域,子域,端口或協議上完成。除非CORS被啓用,這可能不是這種情況。

注意

由於瀏覽器的安全限制,大多數Ajax請求受到 的同源策略;該請求無法成功檢索來自不同域,子域,端口或協議的 數據。腳本和 JSONP請求不受相同的源策略限制。

SEE:Breaking-cross-domain這是真正有用的

插件跨域cross-domain-plugin


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