I have got an html page with this content, called "page1.html":
content
var x=5;
var y=2;
In another html page, I'd like to get the value of the variable "x" (5).
This is the main page:
And this is the app.js script:
$(function(){
$.get('page1.html', function(result){
var obj = $(result).find('script');
$(this).append($('#new_content').text(obj.html()));
});
});
And the result is "var x=5; var y=2;". Is there a way to get only the value 5 from the var x?
Thanks for the help.
EDIT: I forgot to write that it's only an example, the code into the script in page1.html is more complex than the one shown. The object "obj" in app.js is an [object htmlscriptelement] so I'd like to know if a method/att exists that I can use to directly access the var x.
解决方案
This seems like a bit of a weird thing to try and do.
I'll do my best to answer but it would be good to get a bit more context around why you want to do this as it might be that there's a better, cleaner way to do it.
My recommendation with the information that you've given would be to assign the values to a DOM object, jQuery is built to traverse the DOM and manipulate it, it's really not a good idea to try and parse raw javascript to extract variable values.
So, page 1 would look like this:
content
Then my jQuery would look something like this:
$(function(){
$.get('page1.html', function(result){
var obj = $(result).find('script');
var page1X = $(result).find('div.myData').data('x');
var page1Y = $(result).find('div.myData').data('y');
});
});
This is just pseudo code, but hopefully you get the idea.
Reference links: