点击无互联网连接的链接时的Adobe DPS HTML警报

时间:2014-07-15 15:11:49

标签: html5 adobe adobe-dps

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

1 个答案:

答案 0 :(得分:0)

您可能需要一些JavaScript和Adobe的store api(用于横幅或商店)或reading 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应用程序完成。