每次访问页面时都会触发地理位置代码,而不仅仅是在初始加载或刷新时

Posted

技术标签:

【中文标题】每次访问页面时都会触发地理位置代码,而不仅仅是在初始加载或刷新时【英文标题】:having the geolocation code fire every time the page is visited not just on initial load or refresh 【发布时间】:2017-05-17 02:55:45 【问题描述】:

我的应用程序的 index.html 页面上有以下代码

每次启动应用程序或刷新索引页面时,代码都会加载坐标并附加到页面上按钮所附的 url 上

但是,如果我只是从应用程序中的另一个页面返回主页,则下面的代码不会刷新,并且按钮没有附加坐标

我如何修改代码,以便每次页面加载时运行下面的代码,从而将当前坐标附加到页面上的按钮

 <script type="text/javascript" charset="utf-8">

            // Wait for device API libraries to load
            //
            document.addEventListener("deviceready", onDeviceReady, false);

            // device APIs are available
            //
            function onDeviceReady() 
                navigator.geolocation.getCurrentPosition(onSuccess, onError);
            

        function changeLinksAddCoords( lat, long ) 
            $('.toChange').each( function(index) 
                                var el = $(this);

                                var href = el.attr('href');
                                href +=  lat + ',' + long
                                el.attr('href', href);
                                );
        

        // onSuccess Geolocation
        //
        function onSuccess(position) 
            var element = document.getElementById('geolocation');
            changeLinksAddCoords( position.coords.latitude, position.coords.longitude)
            element.innerHTML = + position.coords.latitude + ',' + position.coords.longitude;
        

        // onError Callback receives a PositionError object
        //
        function onError(error) 
            alert('code: '    + error.code    + '\n' +
                  'message: ' + error.message + '\n');
        

            </script>

【问题讨论】:

你已经有了答案:migrate from jquerymobile 1.2.1 to 1.4.5 【参考方案1】:

假设您标记 jquery-mobile 是因为您正在使用它,请处理 pagecontainer 的 beforeshow 事件:

http://api.jquerymobile.com/pagecontainer/#event-beforeshow

每次访问该页面时都会触发此事件。

【讨论】:

以上是关于每次访问页面时都会触发地理位置代码,而不仅仅是在初始加载或刷新时的主要内容,如果未能解决你的问题,请参考以下文章

每次刷新应用程序时都会触发 Flutter web Firebase onAuthStateChanges

每次添加新项目时都会触发 RadListView SelectedIndexChanged

检测 JRadioButton 状态更改

Google跟踪代码管理器表单 - 感谢您的页面

连接主页,以便每次有人登陆页面时都会向我的 iPhone 发送推送通知消息

AppWidgetProvider - 每次对任何 AppWidget 文件进行更改时都会触发 onUpdate 吗?