Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Prevent jQuery() from executing javascript

I am working on some code that uses jQuery to parse data out of html documents from the web. This decision was made because jQuery, with its awesome ability to select objects on a page, makes it excellent for parsing.

The code works like this (where 'html_string' is the html of a whole web page):

var page = $(html_string);

The problem I am having is that javascript is being evaluated and executed within the html_string as well. This results in new threads being formed that in some cases, contain infinite loops that make repeated requests to the server and eventually crash the whole client-side of application (not the server).

Is there a way to somehow prevent the execution of javascript in this situation. In this situation, the execution of javascript is an unwanted side effect.

Thanks so much!

like image 876
Chris Dutrow Avatar asked Apr 01 '26 13:04

Chris Dutrow


1 Answers

Here is a crappy little jsfiddle that shows you the js does not run when you load the html_string into $. When you click run you will see an immediate alert 'wtf'. Three seconds later, the html is loaded into $ and the body is updated to say 'moo', you should not see the alert.

http://jsfiddle.net/9BAkE/

like image 104
Jake Dempsey Avatar answered Apr 04 '26 09:04

Jake Dempsey



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!