- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个用 XDK 开发的应用程序。该应用程序一次链接到外部网站(实际上是 PDF)。
我已经尝试了 window.open(url,"_system")
和 intel.xdk.device.launchExternal(url)
并且都适用于 IOS 和 Android使用 Intel App Preview 应用程序时。
但是,一旦构建完成并将应用程序上传到 Play 商店,外部链接就不起作用了。我还不能说 IOS,因为 Apple 尚未完成对应用程序的测试,但在 Android 上,就好像链接不存在一样。完全没有回应。即使添加 try/catch 循环也不会产生更多信息。
我意识到因为链接生成 PDF,所以 Android 设备必须安装 PDF 查看器才能查看它,但是我的测试设备确实有一个,并且如从 App Preview 运行时所述,它会下载 PDF 并提示在 Adobe 中查看它。
有什么想法吗?有没有我必须检查 Cordova 选项才能使 launchExternal 工作的插件?
最佳答案
为了使用 intel.xdk.device.launchExternal(url)
,您需要在 Projects Panel > Cordova 3 的 Intel XDK Plugins 组下包含 Device 插件。 X 混合移动应用程序设置 > 包含的插件 > 精选和自定义 Cordova 插件 > 设备。
为了使用 window.open(url,"_system")
打开一个利用 Cordova inAppBrowser 插件的 URL,您需要在项目中包含 In App Browser 插件面板 > Cordova 3.X 混合移动应用程序设置 > 包含的插件 > 标准 Cordova 插件 > 在应用程序浏览器中。
<!DOCTYPE html><!--HTML5 doctype-->
<html>
<head>
<title>Your New Application</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0" />
<style type="text/css">
/* Prevent copy paste for all elements except text fields */
* { -webkit-user-select:none; -webkit-tap-highlight-color:rgba(255, 255, 255, 0); }
input, textarea { -webkit-user-select:text; }
body { background-color:white; color:black }
</style>
<script src='intelxdk.js'></script>
<script src='cordova.js'></script>
<script src='xhr.js'></script>
<script type="text/javascript">
var onDeviceReady=function(){ // called when Cordova is ready
if( window.Cordova && navigator.splashscreen ) { // Cordova API detected
navigator.splashscreen.hide() ; // hide splash screen
}
} ;
document.addEventListener("deviceready", onDeviceReady, false) ;
</script>
</head>
<body>
<!-- content goes here-->
<h2>Hello World</h2>
<script>
function openExternal(elem) {
window.open(elem.href, "_system");
return false; // Prevent execution of the default onClick handler
}
</script>
<a href="https://www.twitter.com" onClick="javascript:return openExternal(this)">Twitter</a>
</body>
</html>
关于android - launchExternal 不适用于 Android 上的 XDK 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26780521/
我是一名优秀的程序员,十分优秀!