1

SharePoint でポップアップ ページとして開くことができるページがあります。ページがポップアップとして開かれると、いくつかの CSS を変更する必要があります。何が起こっているのかというと、コードはラベル要素を正常に変更できますが、ページを保持し、ページを保持している iFrame 要素の上にあるウィンドウ sharepoint である .ms-dlgTitleText を変更するには、ここで何ができるか教えてください。

編集: クラス 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

ダイアログオプションでは、ダイアログに引数を渡すことができます。この例はここにあります。

ページの読み込み自体で、引数が使用可能かどうかを確認してから、たとえば、ページのcssを変更します。jQueryの助け。

于 2012-12-05T23:48:06.480 に答える
0

あなたがやりたいのは、iframe内のスクリプトで「親」ページを変更することだと私には思えます。両方のページが同じホスト、同じポートからのものであり、同じプロトコルを使用しない限り、これは不可能です。その場合は、使用できるparent.document.getElementById()か、状況に応じてより便利になりますparent.document.getElementsByClassName()

そうでない場合(ページが異なるホスト、ポート、または異なるプロトコルで提供されている場合)、window.postMessageiframeと親ドキュメント間の通信に使用する必要があります。

非常によく似た質問がすでに答えられていました。ぜひご覧ください。

それが役に立てば幸い!

于 2012-12-06T00:16:19.590 に答える