我正在尝试在我的页面上使用对话框元素,但我遇到了一些问题。看起来盒子本身没有出现。我在对话框中有一个iframe正常工作(除了一些大小调整问题),但是框的标题栏和(有时)按钮没有显示。我在网上看到,其原因通常是没有包含JQuery UI css文件,但我不认为这是问题,因为我有链接,它是从另一个创建对话框的页面复制的正常。我无法确定它是否相关,但我在SharePoint Designer中创建页面,它使用两种不同的标准来评估页面,其中一个(非工作的)声称{{1标签是一个错误,说“在XHTML 1.0中严格标签不能包含”。但是,<link>
标记周围没有<div>
,设计人员还说在此版本的XHTML中不允许使用许多名为<link>
的SharePoint创建的标签。包含创建对话框的代码以供参考:
<SharePoint:...>
<div id='am_schedDetailModal' title='Details'>
<div class='ui-widget'></div>
</div>
对此问题的任何帮助都将不胜感激。
编辑:我相当确定包含CSS的$(document).ready(function() {
$("#am_schedDetailModal").dialog({
autoOpen: false,
modal: true,
buttons: {
'Close': function() {
$(this)
.html('')
.dialog('close');
}
}
});
});
function onClick() {
var width = window.innerWidth ||
document.documentElement.clientWidth ||
document.body.clientWidth;
var height = window.innerHeight ||
document.documentElement.clientHeight ||
document.body.clientHeight;
$('#am_schedDetailModal').dialog('option', 'width', Math.floor(width * .7));
$('#am_schedDetailModal').dialog('option', 'height', Math.floor(height * .7));
$('#am_schedDetailModal div').html("<iframe id='am_mdl_iframe' src='" + input + "' height='100%' width='100%'>");
$('#am_schedDetailModal').dialog('open');
}
根本没有被加载,因为iframe会显示相应的<link>
s围绕它应该出现在模态框中。但是,我仍然不明白为什么没有加载CSS。
答案 0 :(得分:0)
好吧,我不知道原因是什么,但我找到了一个新的地方放置<link>
标签,现在它正在正确加载。如果其他人在使用SharePoint网页部件页面时遇到此问题,请尝试将标记放在我可能忽略的最明显的位置 - 包含<asp:Content>
标记的<meta>
标记。