Могу ли я получить объект из документа JQuery - PullRequest
0 голосов
/ 27 июня 2018

Могу ли я сделать следующее

давайте предположим, что я получаю содержимое страницы, как

var data =   $('html').html();

если страница содержит объект

 mydata = {
    test:"mydata"
}

могу ли я получить доступ к этому объекту как-нибудь ?? Я хочу получить информацию, хранящуюся в этом объекте, как

console.log(data.mydata);

и он должен вернуть

 test:"mydata"

Есть ли способ получить объект из объекта данных JQuery, например

var data =   $('html').html();

примечание: объект в теге script выглядит следующим образом

<script>
window.mydata = {
        test:"mydata"
    }
</script>

как я уже говорил, я пытаюсь получить доступ к данным через объект jquery или вернул dom

var data = $ ('html'). Html ();

У меня нет прямого доступа к window.mydata

есть ли в любом случае доступ к window.mydata из данных, возвращаемых этой функцией

$('html').html();

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Вы можете прикрепить данные в элемент DOM с помощью API .data и получить их в том же формате.

В вашем случае это будет что-то вроде

<script>
window.mydata = {
        test:"mydata"
    }

$("html").data("someKey", window.myData);

// later retrieve it

var data = $("html").data("someKey");

console.log(data.test); /* should print mydata */
</script>

Обновление (после комментария ОП)

// assign your string which you get from Amazon to this variable
var fileContents = 'Some text which has script tags <script>window.mydata = {test:"mydata"}<\/script>';

$("#codeInject").html(fileContents).hide();

console.log(window.mydata);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="codeInject"></div>
0 голосов
/ 27 июня 2018
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body>
<h1>Hello World</h1>
<p>Lorem Ipsum</p>
<script type="text/javascript">

var data =   $('html').html();

    var  mydata = {
    test:"mydata"
}

console.log(data);
console.log(mydata); // Object { test: "mydata" }
console.log(mydata.test); // "mydata"

</script>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...