我网站的很多用户报告 jquery ui 对话框存在问题。一些 IE 用户有消息说脚本运行时间很长。一些 Opera 用户告诉加载网站时所有的对话框都会弹出,并且一切都变慢了,或者他们根本无法关闭它们。这是我使用的代码:
<?php foreach ($buffs as $own_buff): ?>
<div style="display:none">
<div id="popup-pos-link-<?php echo $own_buff['id']?>" style="position: relative">
<img src="<?php echo $html->url("img/Sektor" . $own_buff['sector'] . ".png"); ?>" title="some text" alt="some text" />
<img id="poscross-<?php echo $own_buff['id']?>" src="<?php echo $html->url('img/cross.png'); ?>" style="width: 20px; height: 20px; position: absolute;left: <?php echo $own_buff['xcoord']; ?>px; top: <?php echo $own_buff['ycoord']; ?>px;" />
</div>
</div>
<?php endforeach; ?>
这是打开对话框的链接的代码:
<?php foreach ($buffs as $own_buff): ?>
<a href="#popup-pos-link-<?php echo $own_buff['id']?>" id="pos-link-<?php echo $own_buff['id']?>">
<img src="<?php echo $html->url('img/lupe.gif')?>" title="<?php echo __('view_map'); ?>" alt="<?php echo __('view_map'); ?>" style="width:16px;height:16px;" />
</a>
<?php endforeach; ?>
这是用于创建对话框并在链接上为它们制作点击事件的 javascript 代码:
<script type="text/javascript">
$(document).ready(function() {
$('[id^=popup-pos-link]').dialog({
autoOpen: false,
modal: true,
width: 'auto'
});
$('[id^=pos-link]').click(function(e) {
$('#popup-' + $(this).attr('id')).dialog("open");
e.preventDefault();
});
});
</script>
至少我自己无法产生错误。但是报告问题的用户一直在使用 Opera 或 Internet-Explorer,而且他们中的大多数使用 64 位的 windows 或 ubuntu。
有人知道该代码可能会出现什么样的问题吗?
知道此代码通过 ajax 加载到现有的 div 容器中可能也很重要。
最好的问候安迪