Windows应用商店应用 – WinJS:0x800a1391 – JavaScript运行时
发布时间:2020-12-14 03:58:47 所属栏目:Windows 来源:网络整理
导读:我正在尝试将Google地图加载到 Windows应用商店应用中.但是,本机Windows RT函数出现问题:Windows.UI.Popups.MessageDialog.我猜测Windows命名空间超出了范围,但我现在无法弄清楚是否将此函数放入可使Windows命名空间可访问的范围内.任何帮助表示赞赏. 编辑
我正在尝试将Google地图加载到
Windows应用商店应用中.但是,本机Windows RT函数出现问题:Windows.UI.Popups.MessageDialog.我猜测Windows命名空间超出了范围,但我现在无法弄清楚是否将此函数放入可使Windows命名空间可访问的范围内.任何帮助表示赞赏.
编辑:我越想到这一点,我认为它与我加载map.html作为iFrame的源这一事实有关.因此,map.html的上下文是iFrame,而不是Windows应用商店应用页面.我想在iFrame中无法使用Windows命名空间? 来自home.html: <iframe id="getLocationFrame" src="ms-appx-web:///pages/map/map.html" style="width:600px; height:600px;"></iframe> 例外: SCRIPT5009:ms-appx-web中第50行第17行的未处理异常://76ad865e-25cf-485c-bc77-e18186bfd7ee/pages/map/map.js map.html: <!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript" src="//Microsoft.WinJS.1.0/js/base.js"></script> <script type="text/javascript" src="//Microsoft.WinJS.1.0/js/ui.js"></script> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js? sensor=false"></script> <script type="text/javascript" src="map.js"></script> <link href="/pages/map/css/map.css" rel="stylesheet" /> <link href="//Microsoft.WinJS.1.0/css/ui-light.css" rel="stylesheet" /> </head> <body> <p>Click to get your location.</p> <button id="getLocation">Get Location</button><br/> <div id="mapcontainer"></div><br /> <small> <a id="anchorLargerMap" href="" style="color:#0000FF;text-align:left" target="_blank">View Larger Map</a> </small> </body> </html> map.js: (function () { "use strict"; WinJS.UI.Pages.define("/pages/map/map.html",{ // This function is called whenever a user navigates to this page. It // populates the page elements with the app's data. ready: function (element,options) { //Button "getLocation" event handler function getLocationClickHandler(eventInfo) { var myOptions = { zoom: 13,mapTypeId: google.maps.MapTypeId.ROADMAP }; var mapcontainer = document.getElementById("mapcontainer"); var map = new google.maps.Map(mapcontainer,myOptions); if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(locationSuccess,locationFail); } } var namespacePublicMembers = { locationSucessFunction: locationSuccess,locationFailFunction: locationFail,getLocationClickEventHandler: getLocationClickHandler }; WinJS.Namespace.define("mapPage",namespacePublicMembers); var getLocationButton = document.getElementById("getLocation"); getLocationButton.addEventListener("click",getLocationClickHandler,false); function locationSuccess(position) { var initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude); map.setCenter(initialLocation); var marker = new google.maps.Marker({ position: initialLocation,map: map,title: "You are here." }); var latitude = position.coords.latitude; var longitude = position.coords.longitude; var url = "http://maps.google.com/maps?q=" + latitude + "," + longitude + "&zoom=13&markers=" + latitude + "," + longitude; $("#anchorLargerMap").attr('href',url); } function locationFail() { var md = new Windows.UI.Popups.MessageDialog("Could not find you!","").showAsync; -- ********* THIS LINE THROWS EXCEPTION ********* } } }); })(); 解决方法
在Web分区中执行的代码 – 您的URL表示此代码所在的代码 – 无法访问WinRT组件.您需要使用postMessage等在两个安全上下文之间进行通信.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在Windows上可靠地复制文件,无论ACL
- windows-server-2012 – 为什么10GbE卡无法与Windows 2012R
- Windows有免费的MS Exchange客户端吗?
- .net – Windows Identity Foundation – 第三方安全令牌服
- 配置 – 从WIX设置更新app.config?
- winrt-xaml – 禁用时更改Button的样式(IsEnabled = False)
- windows-8 – 在.cpp文件中使用实现声明C/C++X WinRT属性的
- Windows – GPO软件安装是否会从其他策略重新安装已安装的应
- windows-7 – 如何将域帐户转换为本地帐户
- windows-phone-7 – 访问Windows Phone中未接来电日志
推荐文章
站长推荐
热点阅读