Another attempt to fix the getScript problem
This commit is contained in:
parent
953bf593a6
commit
ae58d24fd5
|
@ -18,5 +18,5 @@ if($name == 'foo') {
|
||||||
echo "pan";
|
echo "pan";
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
echo "ERROR";
|
echo 'ERROR <script type="text/javascript">ok( true, "name.php executed" );</script>';
|
||||||
?>
|
?>
|
|
@ -1,6 +1,7 @@
|
||||||
html text<br/>
|
html text<br/>
|
||||||
<script type="text/javascript">/* <![CDATA[ */
|
<script type="text/javascript">/* <![CDATA[ */
|
||||||
foo = "foo"; $('#foo').html('foo');
|
testFoo = "foo"; $('#foo').html('foo');
|
||||||
|
ok( true, "test.html executed" );
|
||||||
/* ]]> */</script>
|
/* ]]> */</script>
|
||||||
<script src="data/test.js"></script>
|
<script src="data/test.js"></script>
|
||||||
blabla
|
blabla
|
|
@ -124,12 +124,7 @@ jQuery.fn.extend({
|
||||||
// for some weird reason, it doesn't work if the callback is ommited
|
// for some weird reason, it doesn't work if the callback is ommited
|
||||||
jQuery.getScript( this.src );
|
jQuery.getScript( this.src );
|
||||||
else {
|
else {
|
||||||
// TODO extract into $.eval
|
jQuery.eval ( this.text || this.textContent || this.innerHTML || "" );
|
||||||
var data = this.text || this.textContent || this.innerHTML || "";
|
|
||||||
if (window.execScript)
|
|
||||||
window.execScript( data );
|
|
||||||
else
|
|
||||||
window.setTimeout( data, 0 );
|
|
||||||
}
|
}
|
||||||
}).end();
|
}).end();
|
||||||
}
|
}
|
||||||
|
@ -688,12 +683,8 @@ jQuery.extend({
|
||||||
data = type == "xml" || data ? r.responseXML : r.responseText;
|
data = type == "xml" || data ? r.responseXML : r.responseText;
|
||||||
|
|
||||||
// If the type is "script", eval it in global context
|
// If the type is "script", eval it in global context
|
||||||
// TODO extract as $.eval
|
|
||||||
if ( type == "script" ) {
|
if ( type == "script" ) {
|
||||||
if (window.execScript)
|
jQuery.eval( data );
|
||||||
window.execScript( data );
|
|
||||||
else
|
|
||||||
window.setTimeout( data, 0 );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the JavaScript object, if JSON is used.
|
// Get the JavaScript object, if JSON is used.
|
||||||
|
@ -734,6 +725,14 @@ jQuery.extend({
|
||||||
|
|
||||||
// Return the resulting serialization
|
// Return the resulting serialization
|
||||||
return s.join("&");
|
return s.join("&");
|
||||||
|
},
|
||||||
|
|
||||||
|
// TODO document me
|
||||||
|
eval: function(data) {
|
||||||
|
if (window.execScript)
|
||||||
|
window.execScript( data );
|
||||||
|
else
|
||||||
|
eval.call( window, data );
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
module("ajax");
|
module("ajax");
|
||||||
|
|
||||||
test("load(String, Object, Function) - simple: inject text into DOM", function() {
|
test("load(String, Object, Function) - simple: inject text into DOM", function() {
|
||||||
expect(1);
|
expect(2);
|
||||||
stop();
|
stop();
|
||||||
$('#first').load("data/name.php", function() {
|
$('#first').load("data/name.php", function() {
|
||||||
ok( $('#first').text() == 'ERROR', 'Check if content was injected into the DOM' );
|
ok( /^ERROR/.test($('#first').text()), 'Check if content was injected into the DOM' );
|
||||||
start();
|
start();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -13,17 +13,12 @@ test("load(String, Object, Function) - inject without callback", function() {
|
||||||
expect(1);
|
expect(1);
|
||||||
stop(); // check if load can be called with only url
|
stop(); // check if load can be called with only url
|
||||||
$('#first').load("data/name.php");
|
$('#first').load("data/name.php");
|
||||||
$.get("data/name.php", function() {
|
|
||||||
ok( $('#first').text() == 'ERROR', 'Check if load works without callback');
|
|
||||||
start();
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test("load(String, Object, Function) - check scripts", function() {
|
test("load(String, Object, Function) - check scripts", function() {
|
||||||
expect(6);
|
expect(7);
|
||||||
stop();
|
stop();
|
||||||
window.foobar = undefined;
|
testFoo = undefined;
|
||||||
window.foo = undefined;
|
|
||||||
var verifyEvaluation = function() {
|
var verifyEvaluation = function() {
|
||||||
ok( foobar == "bar", 'Check if script src was evaluated after load' );
|
ok( foobar == "bar", 'Check if script src was evaluated after load' );
|
||||||
ok( $('#foo').html() == 'foo', 'Check if script evaluation has modified DOM');
|
ok( $('#foo').html() == 'foo', 'Check if script evaluation has modified DOM');
|
||||||
|
@ -32,7 +27,7 @@ test("load(String, Object, Function) - check scripts", function() {
|
||||||
};
|
};
|
||||||
$('#first').load('data/test.html', function() {
|
$('#first').load('data/test.html', function() {
|
||||||
ok( $('#first').html().match(/^html text/), 'Check content after loading html' );
|
ok( $('#first').html().match(/^html text/), 'Check content after loading html' );
|
||||||
ok( foo == "foo", 'Check if script was evaluated after load' );
|
ok( testFoo == "foo", 'Check if script was evaluated after load' );
|
||||||
setTimeout(verifyEvaluation, 600);
|
setTimeout(verifyEvaluation, 600);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -109,7 +104,7 @@ test("$.getIfModified(String, Hash, Function)", function() {
|
||||||
expect(1);
|
expect(1);
|
||||||
stop();
|
stop();
|
||||||
$.getIfModified("data/name.php", function(msg) {
|
$.getIfModified("data/name.php", function(msg) {
|
||||||
ok( msg == 'ERROR', 'Check ifModified' );
|
ok( /^ERROR/.test(msg), 'Check ifModified' );
|
||||||
start();
|
start();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -238,10 +233,9 @@ test("$.ajax - simple post", function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
test("$.ajax - dataType html", function() {
|
test("$.ajax - dataType html", function() {
|
||||||
expect(4);
|
expect(5);
|
||||||
stop();
|
stop();
|
||||||
window.foobar = undefined;
|
testFoo = undefined;
|
||||||
window.foo = undefined;
|
|
||||||
var verifyEvaluation = function() {
|
var verifyEvaluation = function() {
|
||||||
ok( foobar == "bar", 'Check if script src was evaluated for datatype html' );
|
ok( foobar == "bar", 'Check if script src was evaluated for datatype html' );
|
||||||
start();
|
start();
|
||||||
|
@ -251,7 +245,7 @@ test("$.ajax - dataType html", function() {
|
||||||
url: "data/test.html",
|
url: "data/test.html",
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
ok( data.match(/^html text/), 'Check content for datatype html' );
|
ok( data.match(/^html text/), 'Check content for datatype html' );
|
||||||
ok( foo == "foo", 'Check if script was evaluated for datatype html' );
|
ok( testFoo == "foo", 'Check if script was evaluated for datatype html' );
|
||||||
setTimeout(verifyEvaluation, 600);
|
setTimeout(verifyEvaluation, 600);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue