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兼容问题
相关文章推荐
- 解决discuz与jquery不兼容问题——下拉列表不能用(Uncaught TypeError: Cannot set property 'position' of undefined)
- 【转载】解决浏览器和discuz7.0论坛不兼容的方法,解决快捷回复弹出下载窗口的问题
- Discuz! 6.1_jQuery兼容问题
- jQuery不兼容input的change事件问题解决过程
- DWR用法配置及DWR与jQuery结合兼容问题解决
- ecshop与jquery冲突兼容问题解决办法只需增加一句代码
- jQuery不兼容input的change事件问题解决过程
- jquery实现图片等比例缩放,解决max-width在ie中不兼容问题
- 解决ie8不兼容jquery trim问题
- jquery 和其他js框架同时使用的不兼容问题解决方法
- jquery 和其他js框架同时使用的不兼容问题解决方法
- 解决 jQuery Validate 在IE8中不兼容的问题
- 用 jquery 解决 浏览器 兼容问题
- springmvc 整合jquery uploadify 火狐浏览器不兼容问题解决
- 解决jquery-easyui1.3.3 combobox 多选模式不兼容IE8问题
- 解决jquery与zepto等其它库冲突兼容的问题
- 关于解决JQUERY对INPUT元素Change事件不兼容的问题
- 解决Jquery和prototype的兼容问题
- 解决jquery-easyui1.3.3 combobox 多选模式不兼容IE8问题