在不同版本的Chrome之间获得奇怪的行为。在我的开发机器上,我使用的是Chrome版本13.0.782.32 beta-m,我的一个测试人员正在使用版本8.xxx。我正在使用jQuery ui来显示一个对话框。在chrome 13.xxx中,一切都很好。在chrome 8.xxx中,不显示右上角的按钮。
以下是我的代码示例。我们使用对象文字来命名我们的代码。
var ourAppName = {};
ourAppName.displayDialog = function (title, body, defaults) {
var html = '<div style="display:none;">' + ((body != undefined || body != null) ? body : 'No body (message) provided') + '</div>';
$(html).appendTo('body').dialog(
{
height: (defaults != undefined || defaults != null) ? (defaults.height === undefined ? 105 : defaults.height) : 105,
width: (defaults != undefined || defaults != null) ? (defaults.width === undefined ? 640 : defaults.width) : 640,
modal: (defaults != undefined || defaults != null) ? (defaults.modal === undefined ? true : defaults.modal) : true,
position: (defaults != undefined || defaults != null) ? (defaults.position === undefined ? 'center' : defaults.position) : 'center',
autoOpen: (defaults != undefined || defaults != null) ? (defaults.autoOpen === undefined ? false : defaults.autoOpen) : false,
title: (title != undefined || title != null) ? title : 'No title provided',
closeOnEscape: (defaults != undefined || defaults != null) ? (defaults.closeOnEscape === undefined ? true : defaults.closeOnEscape) : true,
resizable: (defaults != undefined || defaults != null) ? (defaults.resizable === undefined ? false : defaults.resizable) : false,
draggable: (defaults != undefined || defaults != null) ? (defaults.draggable === undefined ? false : defaults.draggable) : false,
overlay: (defaults != undefined || defaults != null) ? (defaults.overlay === undefined ? { opacity: 0, background: '#000000'} : defaults.overlay) : { opacity: 0, background: '#000000' },
buttons: (defaults != undefined || defaults != null) ? (defaults.buttons === undefined ? { } : defaults.buttons) : { }
}
).dialog('open').show();
};
然后,在我在另一个js文件中的绑定点击事件中,我有
$("[id$=_DownloadFileLinkButton]").click(function () {
ourAppName.displayDialog(
"Downloading",
"<div style='padding-top:28px;'>Your download will begin momentarily.</div>",
{
height:20
}
);
});
这可能与Chrome版本有关,还是我的代码?
更新:
在最新版本的Chrome中看起来仍然会发生。奇怪的是,它似乎只是在登录后第一次出现。如果我要么刷新页面或导航到另一个页面,那么x就在那里。
答案 0 :(得分:1)
如果它在更高版本中运行,则可能是Chrome问题。只需在Chrome 8中使用http://jsfiddle.net/SEBNv/,检查图标所在页面上的元素,看看图标位置是否错误或以某种方式隐藏。