修改框架元素的css

时间:2012-12-05 23:14:58

标签: javascript css sharepoint

我有一个页面,可以在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>

2 个答案:

答案 0 :(得分:0)

在对话框选项中,您可以将参数传递给对话框。可以找到here的示例。

在页面加载本身时,我会检查参数是否可用,然后用ex替换你的页面css。 jQuery的帮助。

答案 1 :(得分:0)

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

如果情况并非如此(如果您的网页来自不同的主机,端口或不同的协议),您必须使用window.postMessage在iframe和您的父文档之间进行通信。

非常similar question已经回答了。我建议你试一试。

希望它有所帮助!