2011年3月18日 星期五

Jquery跟Silverlight打架!

最近工作上處理的系統中又有 silverlight又有 jQuery
結果兩個相處上有點小摩擦~銀光跟Jquery的遮罩互不相讓!
基本上調整 z-index沒有效果
後來找到一個解決方案~在嵌入SL的Object中加入兩個參數就完工!
<param name="background" value="Transparent" />    
                                <param name="windowless" value="true" />

高興了還沒三秒鐘!卻換 Drag and drop 的功能不能用了!昏 ...
Silverlight主要負責處理拖曳上傳。

後來發現最有影響的是<param name="windowless" value="true" />這一行
所以乾脆把它作成<Literal>控制項,由程式去控制他的true or false!
void SetWindowless(bool iswlmode)
    {
        StringBuilder sb = new StringBuilder();
        string wlmode = (iswlmode) ? "true" : "false";
        sb.AppendFormat("<param name=\"windowless\" value=\"{0}\" />",wlmode);
        Lit_windowless.Text = sb.ToString();
    }
--
<object data="data:application/x-silverlight-2," height="99%" type="application/x-silverlight-2"
                                width="350px" style="z-index:99999;">
                                <param name="source" value="/Service/xxx.xap" />
                                <param name="onError" value="onSilverlightError" />
                                <param name="minRuntimeVersion" value="4.0.50826.0" />
                                <%--<param name="background" value="Transparent" />    
                                <param name="windowless" value="true" />   --%>
                                <asp:Literal ID="Lit_windowless" runat="server" />               
                                <param name="autoUpgrade" value="true" />
                                <a href="http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=4.0.50826.0" style="text-decoration: none">
                                    <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight"
                                        style="border-style: none" />
                                </a>
                            </object>
利用完了再一腳踢開 ccc

--
看到、想到、說到、做到 
能夠填平大海的誓言,也比不上邁出一步的價值 
是以吾輩此生,再無任何誓言

沒有留言: