0

我正在尝试在我的页面上使用对话框元素,但我遇到了一些问题。看起来盒子本身没有出现。我在对话框中有一个 iframe 工作正常(除了一些大小问题),但没有显示框的标题栏和(有时)按钮。我在网上看到,造成这种情况的原因通常是不包含 JQuery UI css 文件,但我认为这不是问题所在,因为我有链接,该链接是从另一个正在创建对话框的页面复制的适当地。我无法确定它是否相关,但我正在 SharePoint Designer 中创建页面,并且它使用两种不同的标准来评估页面,其中一种(非工作标准)声称<link>标记是一个错误,说“在 XHTML 1.0 Strict 中,标记不能包含 .” <div>但是,标签周围没有<link>,并且设计者还表示,<SharePoint:...>在此版本的 XHTML 中不允许使用命名为 SharePoint 创建的许多选项卡。包含创建对话框的代码以供参考:

<div id='am_schedDetailModal' title='Details'>
  <div class='ui-widget'></div>
</div>
$(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');
}

任何有关此问题的帮助将不胜感激。

编辑: 我相当确定<link>包含 CSS 的内容根本没有被加载,因为 iframe 显示了适当<div>的 s 以及它周围应该显示的模态框。但是,我仍然不明白为什么没有加载 CSS。

4

1 回答 1

0

好吧,我不知道是什么原因,但我找到了一个新的地方来放置<link>标签,现在它可以正常加载了。如果其他人在使用 SharePoint Web 部件页面时遇到此问题,请尝试将标记放在我可能忽略的最明显的位置 -<asp:Content>包含标记的<meta>标记。

于 2013-08-01T15:21:57.410 回答