您的位置:首页 > Web前端 > JQuery

Discuz! 6.1~7.0 - 解决jQuery兼容问题

2009-01-13 23:51 288 查看

Discuz! 6.1~7.0 - 解决jQuery兼容问题

在Discuz! 6.1中无法直接使用jQuery,升级到Discuz! 7.0后也无法直接使用jQuery,估计之前的一些版本也不能直接使用jQuery。这是由于Discuz!为了解决兼容性问题,而引入了另一个兼容性问题。
在Discuz! 6.1中,对/include/javascript/common.js文件应用如下补丁即可。

--- common.6.1.original.js

+++ common.6.1.jquery.js

@@ -8,28 +8,28 @@

*/



var lang = new Array();

var userAgent = navigator.userAgent.toLowerCase();

var is_opera = userAgent.indexOf('opera') != -1 && opera.version();

var is_moz = (navigator.product == 'Gecko') && userAgent.substr(userAgent.indexOf('firefox') + 8, 3);

var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera)
&& userAgent.substr(userAgent.indexOf('msie') + 5, 3);



function $(id) {

return document.getElementById(id);

}

-

+if(typeof Array.prototype.push === 'undefined') {

Array.prototype.push = function(value) {

this[this.length] = value;

return this.length;

}

-

+}

function checkall(form, prefix, checkall) {

var checkall = checkall ? checkall : 'chkall';

for(var i = 0; i < form.elements.length; i++) {

var e = form.elements[i];

if(e.name && e.name != checkall && (!prefix || (prefix && e.name.match(prefix)))) {

e.checked = form.elements[checkall].checked;

}

}

}



function doane(event) {

在Discuz! 7.0中,对/include/js/common.js文件应用如下补丁即可。--- common.7.0.original.js

+++ common.7.0.jquery.js

@@ -45,28 +45,28 @@

case 'area':case 'base':case 'basefont':case
'col':case 'frame':case 'hr':case 'img':case 'br':case 'input':case
'isindex':case 'link':case 'meta':case 'param':

return false;

}

return true;

});

HTMLElement.prototype.click = function(){

var evt = this.ownerDocument.createEvent('MouseEvents');

evt.initMouseEvent('click', true, true,
this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false,
false, 0, null);

this.dispatchEvent(evt);

}

}

-

+if(typeof Array.prototype.push === 'undefined') {

Array.prototype.push = function(value) {

this[this.length] = value;

return this.length;

}

-

+}

function $(id) {

return document.getElementById(id);

}



function checkall(form, prefix, checkall) {

var checkall = checkall ? checkall : 'chkall';

count = 0;

for(var i = 0; i < form.elements.length; i++) {

var e = form.elements[i];

if(e.name && e.name != checkall && (!prefix || (prefix && e.name.match(prefix)))) {

e.checked = form.elements[checkall].checked;

[Discuz! - 官方网站]

http://www.discuz.net/

[Discuz! - 常见问题]

Discuz! 6.1 从GBK编码转为UTF-8编码
Discuz! 6.1 多语言翻译工作范围
Discuz! 6.1 发送HTML格式电子邮件
Discuz! 6.1~7.0 安装SupeSite后导致安全漏洞
Discuz! 6.1 不修改模板在贴子上增加收藏按钮
Discuz! 6.1 cpmsg函数在IE下和Firefox下表现不一致
Discuz! 6.1~7.0 升级后request缓存文件名不兼容
Discuz! 6.1~7.0升级后request路径不兼容以及相应修改方案
Discuz! 7.0 模块脚本文件名
Discuz! 7.0 模块调用脚本范例程序 - 模板
Discuz! 7.0 模块调用脚本范例程序 - 数组
Discuz! 7.0
模块调用脚本范例程序 - 主题
Discuz! 7.0 模块调用脚本范例程序 - 多选下拉的缺陷以及使用方法
Discuz! 6.1 - 自动禁止非公开版面向Home推送事件

Discuz! 6.1~7.0 - 解决jQuery兼容问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: