我正在使用Silverlight應用程序,當它加載到瀏覽器中時,它會設置一個html <param>
標記(它位於silverlight內<object>
標籤)與一個值。稍後在執行SL應用程序時,我需要更改<param>
標記的值屬性。我試圖通過簡單地調用一個客戶端JavaScript函數來獲取param標記,然後調用objById.setAttribute(value,「my new value」)來實現此目的。這是奇怪的地方。按照這種方式設置屬性似乎是有效的,根據警報消息顯示在將其設置爲新值之後的屬性值。但是,當我在關閉警報對話框後在瀏覽器上查看源代碼時,我仍然看到網頁源代碼中的舊值。任何想法爲什麼源視圖不會顯示新的價值? param標籤上有一個runat="server"
屬性,因爲它在加載時最初由Silverlight應用程序設置。 runat = server屬性是否會在這裏引發問題?如何使用JavaScript更改html值<param> value屬性還有runat =「server」
HTML:
<div id="silverlightControlHost">
<object id="silverlightObject" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param .../>
<param .../>
<param .../>
<param name="initParams" id="Ip" runat="server" />
...
的Javascript:
function refreshInitParams(newParams) {
var slObjIp = document.getElementById("Ip");
//Display Initial Value
alert(slObjIp.getAttribute("value").toString());
//Set New Value
slObjIp.setAttribute("value", "New Value");
//Display new value
alert(slObjIp.getAttribute("value").toString());
}
謝謝 - 我在IE中查看源代碼。在Firefox/Firebug中查看它顯示更新的值。儘管你的解釋幫助我更好地理解了DOM。現在我只希望我的SL應用程序能夠找到更新的值! – lg1382