HDwiki 6.0 图片大图不能正常显示的解决方法- 摆摊啦-摆地摊_卖什么好最赚钱_经验技巧百科-地摊货批发网
摆摊啦  > 所属分类  >  网站事务   

HDwiki 6.0 图片大图不能正常显示的解决方法

暂无标签
[5] 评论[0] 编辑

问题描述:在HDwiki 6.0 的词条中添加图片后,点击缩略图不能正常显示大图,仅显示图片路径。

解决方法:打开view/default/header.htm文件,修改第26行的js引用,改用0.8.min文件:

<script type="text/javascript" src="js/jquery.dialog-0.8.min.js"></script>

其它说明:必须用 jquery.dialog-0.8.min.js 文件,使用jquery.dialog-0.8.js 文件仍然不能正常显示。

 


这个是老版本5.1的引用这个

<!--{if !empty($docrewrite) && $docrewrite=='1'}--><base href="{WIKI_URL}/" /><!--{/if}-->

<link href="style/{$theme}/hdwiki.css" rel="stylesheet" type="text/css" media="all"/>

<script type="text/javascript" src="js/jquery.js"></script>

<script type="text/javascript" src="lang/{$setting['lang_name']}/front.js"></script>

<script type="text/javascript" src="js/jquery.dialog-0.8.min.js"></script>

<script type="text/javascript" src="js/login.js"></script>

<script type="text/javascript">

注意!!!

这里会引起一个问题

就是修改了js文件之后的会引起词条的重命名操作失效!

这个必须处理js文件


重命名重命名










参考:http://www.hanyu123.cn/html/Webmaster/7158.html

HDwiki 6.0 图片大图不能正常显示的解决方法

标签:打开   html   clas   tar   6.0   javascrip   添加图片   src   pre   

原文:http://www.cnblogs.com/hanyu123/p/4955001.html


可以扩展为修改缩略图的大小--修改--js文件

down-hdwiki6.gif

运行环境:IIS7.5 + PHP5.5

问题描述:在HDwiki 6.0 的词条中添加图片后,点击缩略图不能正常显示大图,仅显示图片路径。

解决方法:打开view/default/header.htm文件,修改第26行的js引用,改用0.8.min文件:


其它说明:必须用 jquery.dialog-0.8.min.js 文件,使用jquery.dialog-0.8.js 文件仍然不能正常显示。






bug描述:

后台管理图片插件的列表(admin_image.htm),点击缩略图片显示大图的功能:只有第一个图片的大图显示正常,第二个及以后的其它图片都是无限载入,无法显示了。

 

查bug过程:

查图片悬停的文字,找到admin_image.htm

页首的js段落里面有如下内容

$(document).ready(function(){
$("img").each(function(i){
var img = this; 
img.title="点击浏览大图";
}).click(function(){
var url=$(this).attr("src");
$.dialog.open('image', '图片浏览', 'img:'+url);
});


 

先检测url的正确性:在url变量后面加一句“alert(url);”。发现没有问题。

那么就是document.ready()可能出问题了;全站查找document.ready(),发现是一个js文件里面的东西,/js/jquery.dialog.js

打开之后进行alert检查问题,都无效。莫非,用的不是这个?

在此全站查找jquery.dialog,发现还有两个文件,一个是jquery.dialog-0.8.js、一个是jquery.dialog-0.8.min.js。继续查找,发现header实际调用的是jquery.dialog-0.8.min.js这个文件。

打开后发现根本无法编辑,为了减小文件大小,把所有的注释都去掉了,还将所有的中文改成了utf8码。

于是改admin_header为引用jquery.dialog-0.8.js,编辑之后发现

if (options.type == 'url'){
url = options.url;
if (self.config.url == url){
self.show(id);
return self;
}
self.config.url = url;
self.setContent(id, self.config.htmlImgLoading);
$.get(url, function(data, state){
if (self.isClose[id]){return}
if (state == 'success'){
self.setContent(id, data);
self.reset(id);
if($.IE) self.reset(id, 200);
if ($.isFunction(options.callback)){options.callback(dialog)}
}else {
self.setContent(id, "Loading failure!");
}
});
}else if (options.type == 'img'){
url = options.url;
if (self.config.url == url){
self.show(id);
return self;
}
self.config.url = url;
self.setContent(id, self.config.htmlImgLoading);
var pos = self.getPosition(id);
dialog.css({top:pos.top,left:pos.left,opacity:''});

var img = new Image();
img.onload = function(){
//if (self.isClose[id]){return} 被我注释掉了,以正常显示网站的大图
var width = img.width >950 ?950 : img.width;
self.setContent(id, '');
self.reset(id);
if($.IE) self.reset(id, 200);
if ($.isFunction(options.callback)){options.callback(dialog)}
}
img.onerror = function(){self.setContent(id, options.error)}
img.src= url;

self.parts[id].content.dblclick(function(){$.dialog.close(id)});

}else if(options.type == 'iframe'){......后略


显然options.type == 'img'这一段是重点关注对象!

对与type为img的,指定url。

判断url是不是现在的url,如果是,直接打开即可。

指定url,指定css样式,实例化图像文件,加载图像。

加载图像时,有一条语句是判断self是不是关闭。如果关闭,就直接返回。

if (self.isClose[id]){return}


我使用alert测试,不管怎麽测试,除了第一个图片,后面的都是为真,这里img.onload就直接return了。后面的就自然没有任何反应了。
 
我想不明白为什么要加这个判断条件。所以还是直接把这条注释掉了,bug解除。


解决办法:

注释掉if (self.isClose[id]){return}”即可


附件列表


5

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

如果您认为本词条还有待完善,请 编辑

上一篇 经历过第一次摆摊后,我发誓再也不摆摊了    下一篇 不起眼的赚钱行业

标签

暂无标签

同义词

暂无同义词