2013-04-10 4 views
1

Я создаю приложение Windows 7.1 Phone, где я использую webbrowser для отображения книги ePUB. Я хочу добавить в этот html-файл скрипт JavaScript и узнать, как включить JavaScript в объекте браузера в моем приложении? Я установил свойство IsScriptEnabled в true, но это, похоже, не помогает.JavaScript в Windows Phone 7.1

Любые идеи? Заранее спасибо.

ответ

1

Например, вы можете добавить код JS в HTML страницу:

Xaml файл

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

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; 
    } 

Оригинал статьи с исходным кодом here (на русском языке)

+0

это полезная ссылка, спасибо, но большая проблема для меня это то, как я могу добавить скрипт java скрипт в мой html-файл, который уже был отображен в моем браузере, как этот wpf, вы можете добавить скрипт с помощью var doc = (HTMLDocument) webBrowser2.Document; var head = doc.getElementsByTagName ("head"). Cast (). First(); – hamza437

Смежные вопросы