New feature: You can now inject portions of a document via .load(), as opposed to the full thing.
Examples: - $("#test").load("test.html #something"); - $("#test").load("test.html p.user"); Caveats: - No scripts are injected when a selector is used. - The selector is rooted inside the head and body - it's equivalent to doing: $("body,head").find(selector)
This commit is contained in:
parent
97f2032e13
commit
34f1042902
|
@ -48,6 +48,10 @@ jQuery.fn.extend({
|
||||||
if ( jQuery.isFunction( url ) )
|
if ( jQuery.isFunction( url ) )
|
||||||
return this.bind("load", url);
|
return this.bind("load", url);
|
||||||
|
|
||||||
|
var off = url.indexOf(" ");
|
||||||
|
var selector = url.slice(off, url.length);
|
||||||
|
url = url.slice(0, off);
|
||||||
|
|
||||||
callback = callback || function(){};
|
callback = callback || function(){};
|
||||||
|
|
||||||
// Default to a GET request
|
// Default to a GET request
|
||||||
|
@ -78,7 +82,19 @@ jQuery.fn.extend({
|
||||||
complete: function(res, status){
|
complete: function(res, status){
|
||||||
// If successful, inject the HTML into all the matched elements
|
// If successful, inject the HTML into all the matched elements
|
||||||
if ( status == "success" || !ifModified && status == "notmodified" )
|
if ( status == "success" || !ifModified && status == "notmodified" )
|
||||||
self.html(res.responseText);
|
// See if a selector was specified
|
||||||
|
self.html( selector ?
|
||||||
|
// Create a dummy div to hold the results
|
||||||
|
jQuery("<div/>")
|
||||||
|
// inject the contents of the document in, removing the scripts
|
||||||
|
// to avoid any 'Permission Denied' errors in IE
|
||||||
|
.append(res.responseText.replace(/<script(.|\s)*?\/script>/g, ""))
|
||||||
|
|
||||||
|
// Locate the specified elements
|
||||||
|
.find(selector) :
|
||||||
|
|
||||||
|
// If not, just inject the full result
|
||||||
|
res.responseText );
|
||||||
|
|
||||||
// Add delay to account for Safari's delay in globalEval
|
// Add delay to account for Safari's delay in globalEval
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
|
|
Loading…
Reference in a new issue