1

我有一个页面可以在 sharepoint 中作为弹出页面打开。现在当页面作为弹出页面打开时,我希望修改一些 css。发生的情况是代码能够成功修改标签元素但无法修改.ms-dlgTitleText,它是打开的窗口共享点,它保存页面并且位于保存页面的iFrame元素上方。有人可以告诉我我能在这里做什么。

编辑:我想知道如何使用 ms-dlgTitle 类更改 div 内的内容

<div class="dialogue>
<div class="ms-dlgTitle">
content
</div>
<div class="dlgframe">

<iframe>
some data

    <script src="/_layouts/1033/jQuery.js" type="text/javascript">
    </script>
    <script type="text/javascript"> 
     $(document).ready(function () 
     {if (window.location.search.match("[?&]IsDlg=1")) 
        {
            alert("doc is ready now"); 
            $('<style type="text/css">.ms-dlgTitle{ width: 200px; } #foo{background:black;                     }</style>').appendTo("head");}});

     function t(){  var options = SP.UI.$create_DialogOptions();options.url =           "http://sharepointhost:2266";options.height =      300;SP.UI.ModalDialog.showModalDialog(options);
                 }
     </script>
    <a class="s" onclick="javascript:t()">k</a> <label title="label1" id="foo">lbl</label>
</iFrame>
</div>

4

2 回答 2

0

在我看来,您想要做的是使用 iframe 中的脚本修改“父”页面。这是不可能的,除非两个页面都来自同一个主机、同一个端口并使用相同的协议。如果是这种情况,您可以使用parent.document.getElementById(),或者在您的情况下可能更方便,parent.document.getElementsByClassName().

如果不是这种情况(如果您的页面来自不同的主机、端口或不同的协议),则您必须使用window.postMessageiframe 和父文档之间的通信。

已经回答了一个非常相似的问题。我建议你看看。

希望能帮助到你!

于 2012-12-06T00:16:19.590 回答
0

在对话框选项中,您可以将参数传递给对话框。这方面的例子可以在这里找到。

在页面加载本身上,我会检查参数是否可用,然后使用 for ex 更改您的页面 css。jQuery的帮助。

于 2012-12-05T23:48:06.480 回答