JQuery中的load()函数在谷歌以及火狐下的问题(有关iframe)
我的代码:<iframeid="winform"class="winform"frameborder=0scrolling="no"style="dispaly:none...
我的代码:<iframe id="winform" class="winform" frameborder=0 scrolling="no" style="dispaly:none"></iframe>
jQuery代码:
$("#uploadpic").click(function(){
$("#winform").show();
$("#winform").load('index.php?s=Admin-Upload');
});
我的在IE下可以正常使用,但是在火狐以及谷歌下就不行了!求助啊!
IE下就可以载入网页,但是在火狐以及谷歌下就不行啊! 展开
jQuery代码:
$("#uploadpic").click(function(){
$("#winform").show();
$("#winform").load('index.php?s=Admin-Upload');
});
我的在IE下可以正常使用,但是在火狐以及谷歌下就不行了!求助啊!
IE下就可以载入网页,但是在火狐以及谷歌下就不行啊! 展开
3个回答
展开全部
看了下jquery的load 方法,load方法就是发送一个Ajax请求
然后将返回的DOM加载到对象里边
差不多类似与
$.get("index.php?s=Admin-Upload",null,function(data){
$("#winform").html(data);
},"html");
self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g, "")).find(selector) :res.responseText);
估计iframe.innerHTML only for ie吧。
load: function(url, params, callback) {
/// <summary>
/// 载入远程 HTML 文件代码并插入至 DOM 中。 默认使用 GET 方式 - 传递附加参数时自动转换为 POST 方式。
/// jQuery 1.2 中,可以指定选择符,来筛选载入的 HTML 文档,DOM 中将仅插入筛选出的 HTML 代码。语法形如 "url #some > selector"。
/// </summary>
/// <param name="url" type="String">待装入 HTML 网页网址。</param>
/// <param name="data" optional="true" type="Map">(可选) 发送至服务器的 key/value 数据。</param>
/// <param name="callback" optional="true" type="Function">(可选) 载入成功时回调函数。</param>
/// <returns type="jQuery" />
if (typeof url != 'string')
return this._load(url);
var off = url.indexOf(" ");
if (off >= 0) {
var selector = url.slice(off, url.length);
url = url.slice(0, off);
}
callback = callback || function() { };
// Default to a GET request
var type = "GET";
// If the second parameter was provided
if (params)
// If it's a function
if (jQuery.isFunction(params)) {
// We assume that it's the callback
callback = params;
params = null;
// Otherwise, build a param string
} else {
params = jQuery.param(params);
type = "POST";
}
var self = this;
// Request the remote document
jQuery.ajax({
url: url,
type: type,
dataType: "html",
data: params,
complete: function(res, status) {
// If successful, inject the HTML into all the matched elements
if (status == "success" || status == "notmodified")
// 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);
self.each(callback, [res.responseText, status, res]);
}
});
return this;
},
然后将返回的DOM加载到对象里边
差不多类似与
$.get("index.php?s=Admin-Upload",null,function(data){
$("#winform").html(data);
},"html");
self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g, "")).find(selector) :res.responseText);
估计iframe.innerHTML only for ie吧。
load: function(url, params, callback) {
/// <summary>
/// 载入远程 HTML 文件代码并插入至 DOM 中。 默认使用 GET 方式 - 传递附加参数时自动转换为 POST 方式。
/// jQuery 1.2 中,可以指定选择符,来筛选载入的 HTML 文档,DOM 中将仅插入筛选出的 HTML 代码。语法形如 "url #some > selector"。
/// </summary>
/// <param name="url" type="String">待装入 HTML 网页网址。</param>
/// <param name="data" optional="true" type="Map">(可选) 发送至服务器的 key/value 数据。</param>
/// <param name="callback" optional="true" type="Function">(可选) 载入成功时回调函数。</param>
/// <returns type="jQuery" />
if (typeof url != 'string')
return this._load(url);
var off = url.indexOf(" ");
if (off >= 0) {
var selector = url.slice(off, url.length);
url = url.slice(0, off);
}
callback = callback || function() { };
// Default to a GET request
var type = "GET";
// If the second parameter was provided
if (params)
// If it's a function
if (jQuery.isFunction(params)) {
// We assume that it's the callback
callback = params;
params = null;
// Otherwise, build a param string
} else {
params = jQuery.param(params);
type = "POST";
}
var self = this;
// Request the remote document
jQuery.ajax({
url: url,
type: type,
dataType: "html",
data: params,
complete: function(res, status) {
// If successful, inject the HTML into all the matched elements
if (status == "success" || status == "notmodified")
// 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);
self.each(callback, [res.responseText, status, res]);
}
});
return this;
},
追问
估计iframe.innerHTML only for ie吧-----你的意思是说iframe.innerHTML仅仅对IE有效?
展开全部
您好!很高兴为您答疑!
$("#winform").load('index.php?s=Admin-Upload');
改为:
$("#winform").get(0).src="index.php?s=Admin-Upload";
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
$("#winform").load('index.php?s=Admin-Upload');
改为:
$("#winform").get(0).src="index.php?s=Admin-Upload";
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
本回答被网友采纳
展开全部
这样能使用?怪了...正确的应该这么用:
$("#winform").get(0).src="index.php?s=Admin-Upload";
$("#winform").get(0).src="index.php?s=Admin-Upload";
追问
你是正确的,其实我还是不太明白load为什么不行,不是同样是载入网页吗??
追答
load不是. load(function)是绑定事件, 而 load() 则是触发绑定事件, 当事件触发时其实并不是用户进行的操作,仅调用绑定的事件. 而在IE下正常我是无法理解的.
本回答被提问者采纳
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询