0

我创建了一个包含一些外部链接的 HTML 页面,当用户点击外部链接时,如何提示用户没有可用的互联网连接?谢谢。

4

1 回答 1

0

您可能需要一些 JavaScript 和 Adob​​e 的商店 api(用于横幅或商店)或阅读 api(用于 html 文章或作品集中的 Web 视图)。该 api 提供了单例对象adobeDPS.deviceService,它可以告诉您设备是否在线。此外,它还提供指示变化的信号。

对于每个链接元素,您注册一个 onclick 事件处理程序,该处理程序检查在线状态并传递点击或捕获它并向用户发送消息。

以下代码可以工作:

<script src="js/AdobeLibraryAPI.min.js"></script>

<script>
    document.addEventListener("DOMContentLoaded", myLinkChecker.register, false);

    var myLinkChecker = {
        register: function(){
            if (typeof(adobeDPS) !== 'object') {
                console.log("Adobe Library not loaded :-(");
                this.check = function() { return true }    // Fallback
            }

            var linkList = document.querySelectorAll("a, map > area");
            for (var i=0; i < linkList.length; i++){
                var e = linkList[i];
                if (e.hasAttribute('href')) 
                    e.addEventListener('click', myLinkChecker.check, false);
            }
        },

        check: function(ev){
            if (adobeDPS.deviceService.isOnline) {   // let <a> process the click
                console.log("online");
                return true
            } else {          // cancel click event and show message
                event.stopPropagation();
                event.preventDefault();
                alert("Sorry, your device is not online")
                return false;
            }
        }
    }
</script>

DPS 应用程序中的远程调试 html 可以使用 iOS 开发人员应用程序和桌面 Safari 或带有 Google Chrome 的 Android 应用程序来完成。

于 2015-05-18T09:37:19.807 回答