JavaScript может считать источник какой-либо веб-страницы?

Я попытался обновить единственный элемент, который я не затронул - SQL Server 2014, но без какого-либо воздействия. В конце концов я решил полностью подчиниться процессу и работал вокруг него, нажав логику на базу данных.

70
задан Cherian 25 March 2009 в 10:16
поделиться

7 ответов

Простой способ запуститься, попробуйте jQuery

$("#links").load("/Main_Page #jq-p-Getting-Started li");

Больше в Документах jQuery

Другой способ сделать анализ экранных данных намного более структурированным способом состоит в том, чтобы использовать Язык запросов Yahoo или YQL. Это возвратит очищенные данные, структурированные как JSON или xml.
например.
Давайте очистим stackoverflow.com

select * from html where url="http://stackoverflow.com"

даст Вам массив JSON (я выбрал ту опцию) как это

 "results": {
   "body": {
    "noscript": [
     {
      "div": {
       "id": "noscript-padding"
      }
     },
     {
      "div": {
       "id": "noscript-warning",
       "p": "Stack Overflow works best with JavaScript enabled"
      }
     }
    ],
    "div": [
     {
      "id": "notify-container"
     },
     {
      "div": [
       {
        "id": "header",
        "div": [
         {
          "id": "hlogo",
          "a": {
           "href": "/",
           "img": {
            "alt": "logo homepage",
            "height": "70",
            "src": "http://i.stackoverflow.com/Content/Img/stackoverflow-logo-250.png",
            "width": "250"
           }
……..

Красота этого состоит в том, что можно сделать проекции и где пункты, который в конечном счете получает Вас очищенные структурированные данные и только данные, в чем Вы нуждаетесь (намного меньше пропускной способности по проводу в конечном счете)
например,

select * from html where url="http://stackoverflow.com" and
      xpath='//div/h3/a'

получит Вас

 "results": {
   "a": [
    {
     "href": "/questions/414690/iphone-simulator-port-for-windows-closed",
     "title": "Duplicate: Is any Windows simulator available to test iPhone application? as a hobbyist who cannot afford a mac, i set up a toolchain kit locally on cygwin to compile objecti … ",
     "content": "iphone\n                simulator port for windows [closed]"
    },
    {
     "href": "/questions/680867/how-to-redirect-the-web-page-in-flex-application",
     "title": "I have a button control ....i need another web page to be redirected while clicking that button .... how to do that ? Thanks ",
     "content": "How\n                to redirect the web page in flex application ?"
    },
…..

Теперь для получения только вопросов мы делаем a

select title from html where url="http://stackoverflow.com" and
      xpath='//div/h3/a'

Отметьте заголовок в проекциях

 "results": {
   "a": [
    {
     "title": "I don't want the function to be entered simultaneously by multiple threads, neither do I want it to be entered again when it has not returned yet. Is there any approach to achieve … "
    },
    {
     "title": "I'm certain I'm doing something really obviously stupid, but I've been trying to figure it out for a few hours now and nothing is jumping out at me. I'm using a ModelForm so I can … "
    },
    {
     "title": "when i am going through my project in IE only its showing errors A runtime error has occurred Do you wish to debug? Line 768 Error:Expected')' Is this is regarding any script er … "
    },
    {
     "title": "I have a java batch file consisting of 4 execution steps written for analyzing any Java application. In one of the steps, I'm adding few libs in classpath that are needed for my co … "
    },
    {
……

После того как Вы пишете свой запрос, он генерирует URL для Вас

http://query.yahooapis.com/v1/public/yql?q=select%20title%20from%20html%20where%20url%3D%22http%3A%2F%2Fstackoverflow.com%22%20and%0A%20%20%20%20%20%20xpath%3D' %2F%2Fdiv%2Fh3%2Fa' %0A%20%20%20%20&format=json&callback=cbfunc

в нашем случае.

Так в конечном счете Вы заканчиваете тем, что делали что-то вроде этого

var titleList = $.getJSON(theAboveUrl);

и игра с ним.

Красивый, не так ли?

107
ответ дан jkdev 24 November 2019 в 13:21
поделиться

JavaScript может использоваться, пока Вы захватываете любую страницу, которая Вы после через прокси на Вашем домене:

<html>
<head>
<script src="/js/jquery-1.3.2.js"></script>
</head>
<body>
<script>
$.get("www.mydomain.com/?url=www.google.com", function(response) { 
    alert(response) 
});
</script>
</body>
30
ответ дан karim79 24 November 2019 в 13:21
поделиться

Вы могли просто использовать XmlHttp (Ajax) для удара необходимого URL и ответа HTML от URL будет доступен в responseText свойство. Если это не будет тот же домен, то Ваши пользователи получат предупреждение браузера высказывание, что что-то как "Эта страница пытается получить доступ к другому домену. Вы хотите позволить это?"

7
ответ дан Cerebrus 24 November 2019 в 13:21
поделиться

Как меры безопасности, JavaScript не может считать файлы из различных доменов. Хотя могло бы быть некоторое странное обходное решение для него, я рассмотрю другой язык для этой задачи.

6
ответ дан nickf 24 November 2019 в 13:21
поделиться

Используя jQuery

<html>
<head>
<script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.js" ></script>
</head>
<body>
<script>
$.get("www.google.com", function(response) { alert(response) });
</script>
</body>
3
ответ дан Sergej Andrejev 24 November 2019 в 13:21
поделиться

Если абсолютно необходимо использовать JavaScript, Вы могли бы загрузить источник страницы запросом ajax.

Обратите внимание, что с JavaScript, можно только получить страницы, которые расположены под тем же доменом со страницей запроса.

2
ответ дан kkyy 24 November 2019 в 13:21
поделиться
javascript:alert("Inspect Element On");
javascript:document.body.contentEditable = 'true';
document.designMode='on'; 
void 0;
javascript:alert(document.documentElement.innerHTML); 

Выделение это и перетаскивает его к Вашей панели закладок и нажимает его, когда Вы хотите отредактировать и просмотреть текущий исходный код сайтов.

0
ответ дан 24 November 2019 в 13:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: