[WP78] WebBrowser 須記得屬性 IsScriptEnabled / IsGeolocationEnabled 設定為 True

我的手機是人家送的,是 hTC HD7 ,最高只能升級到 Windows Phone 7.8 ,所以我只能玩 WP78 的功能。

上周完成了簡易版的 HTML5 網頁,基本上是針對行動裝置的,所以直接利用行動裝置的瀏覽器看,或是包殼看均可。

這周用 VS2010 寫了一個簡單的殼來處理,由於手機控制項有 WebBrowser ,所以從 MainPage 去呼叫那個網頁就可以了。

我開了一個 WebPage.xaml ,直接整頁就放上 WebBrowser ,在 MainPage 加個 ListBox 放公司首頁跟我的專頁,利用 ListBoxItem.Tag 放網址,然後 事件寫成這樣:

PrivateSub UrlListBoxItem_GotFocus(sender AsObject, e As System.Windows.RoutedEventArgs) Handles UrlHome.GotFocus, UrlMobile.GotFocus

ListBoxItemUrl(sender)

EndSub

PrivateSub ListBoxItemUrl(ByVal nowListBoxItem AsListBoxItem)

Dim strUrl AsString = nowListBoxItem.Tag

NavigationService.Navigate(NewUri(“/WebPage.xaml?Url=" & strUrl, UriKind.Relative))

EndSub

在 WebPage 則加入:

ProtectedOverridesSub OnNavigatedTo(e As System.Windows.Navigation.NavigationEventArgs)

MyBase.OnNavigatedTo(e)

Dim nowUrl AsString = NavigationContext.QueryString(“Url")

MobileBrowser.Navigate(NewUri(nowUrl))

EndSub

然後跑我的網頁。

首先發現不對的是有個網址我是會先偵測螢幕,然後依據螢幕大小才決定送出的 Chart 圖形的長與寬。

圖片輸出前偵測螢幕解析度

圖片輸出前偵測螢幕解析度

其次發現不對的是有個網頁會顯示地圖的也不對勁:

google 顯示不允許嵌入在桌面網頁

google 顯示不允許嵌入在桌面網頁

最後追蹤的結果是手機 WebBrowser 的屬性需要變更預設值:

http://msdn.microsoft.com/en-us/library/windowsphone/develop/microsoft.phone.controls.webbrowser.aspx

WebBrowser.IsScriptEnabled = True

預設值是 False ,所以 Script 被禁用,當然偵測螢幕的指令就廢掉了。

WebBrowser.IsGeolocationEnabled = True

預設值是 False ,所以地理定位被禁用,就被 google 誤判此為不支援座標的瀏覽器,所以被 google 停止支援。

兩個設定啟用後,我目前用到的功能都能正常在 WebBrowser 上顯示了。

目前在模擬機的畫面如下,我登錄我手機為開發手機,也可以跑,不過還沒決定如何上架。

安裝好的 Apps

安裝好的 Apps

廣告
Categories: 工作點滴, 技術分享 | 發表留言

文章分頁導航

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

在 WordPress.com 建立免費網站或網誌.

%d 位部落客按了讚: