简体   繁体   English

Windows Phone 7.1中的JavaScript

[英]JavaScript in Windows Phone 7.1

I am creating a Windows 7.1 Phone app where I am using webbrowser to display an ePUB book. 我正在创建一个Windows 7.1 Phone应用程序,在其中使用Webbrowser来显示ePUB图书。 I want to add to this html file a JavaScript script and to know how to enable JavaScript in the browser object in my app? 我想向此html文件添加JavaScript脚本,并想知道如何在我的应用程序的浏览器对象中启用JavaScript? I have set the IsScriptEnabled property to true but that does not seem to help. 我已经将IsScriptEnabled属性设置为true,但这似乎无济于事。

Any ideas? 有任何想法吗? Thanks in advance. 提前致谢。

For example, you can add js code to html page: 例如,您可以将js代码添加到html页面:

Xaml file XAML文件

 <phone:WebBrowser Name="webBrowser" Height="500" HorizontalAlignment="Stretch" VerticalAlignment="Top" IsScriptEnabled="True" ScriptNotify="webBrowser_ScriptNotify"/>

Cs file CS文件

private void scrollTo_Click(object sender, RoutedEventArgs e)
    {
        string H = y.Text;
        webBrowser.InvokeScript("scroll", H);
    }

    private void getscroll_Click(object sender, RoutedEventArgs e)
    {
        webBrowser.InvokeScript("getScroll");
    }

    private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
    {
            StreamReader reader = new StreamReader(TitleContainer.OpenStream("page.html"));
            string content = "<script language=\"JavaScript\">"
                + "function scroll(H)"
                + "{"
                + "window.scrollTo(0, H);"
                + "}"
                + "function getScroll()"
                + "{"
                + "var body = document.body;"
                + "var docElem = document.documentElement;"
                + "var Y = window.pageYOffset || docElem.scrollTop || body.scrollTop;"
                + "window.external.Notify(\"\"+Y);"
                + "}"
                + "</script>"
                + reader.ReadToEnd();
            webBrowser.NavigateToString(content);
    }

    private void webBrowser_ScriptNotify(object sender, NotifyEventArgs e)
    {
        y.Text = e.Value;
    }

Original article with source code here (in Russian) 带有源代码的原始文章在这里 (俄语)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM