积极答复者
请教用Silverlight调用javascript的问题

问题
-
刚接触silverlight,对如何调用javascript不太了解,我的想法是直接在按钮事件中用HtmlPage.Window.Eval("this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.microsoft.com);");语句来设置首页,但VS老是报Eval失败的错误,请教这是什么原因,谢谢!
还有请问是否有其他的方式来做设置首页和添加到收藏夹之类的功能,谢谢!
答案
全部回复
-
你可以把这些函数写为一个javascript函数,例如abc(),然后在silverlight调abc()这个函数就简单多了,修改起来比较方便。呵呵
My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com
My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com
-
测了一下,似乎是这段javascript出了问题,换成其他的JS都过了,但不知道是什么原因,大虾们赐教啊...
------------------------------------------------------------------------------------------------------------------------------------------------
Page.xaml.cs
private void btnHomePage_Click(object sender, RoutedEventArgs e)
{
ScriptObject jsproc = HtmlPage.Window.GetProperty("setHomePage") as ScriptObject;
jsproc.InvokeSelf(null); // 提示InvokeSelf失败!
}
------------------------------------------------------------------------------------------------------------------------------------------------
TestPage.aspx
<html xmlns="http://www.w3.org/1999/xhtml" style="height:100%;">
<head id="Head1" runat="server">
<title>Test</title>
<script type="text/javascript">
function setHomePage() {
document.body.style.behavior = "url(#default#homepage)";
document.body.setHomePage("http://www.microsoft.com");
}
</script>
</head>
<body>
......
</body>
</html> -
this.style.behavior='url(#default#homepage)'; this.setHomePage("http://www.microsoft.com");
这样试试,你 JS最好先不要用Silverlight调用,现在浏览器里面测试下,能不能过