InAppBrowser 没有在 ios6 上显示工具栏与 cordova 3.3.0
Posted
技术标签:
【中文标题】InAppBrowser 没有在 ios6 上显示工具栏与 cordova 3.3.0【英文标题】:InAppBrowser not showing toolbar on ios6 with cordova 3.3.0 【发布时间】:2014-01-15 10:53:38 【问题描述】:我使用 Xcode 5、Cordova 3.3.0。插件已通过命令行安装(cordova plugin add org.apache.cordova.inappbrowser)。
我在 Ipad2 上用 ios6 和在模拟器上用 ios7 测试过。
我打开 html 文件或 pdf 文件没有任何问题,但我没有工具栏/位置栏或其他。
无法关闭pdf返回上一页!!!
我可以再次检查什么?我该怎么做才能解决这个问题?
提前感谢您的帮助 ;-)
我的 html 文件的内容:
<!DOCTYPE html>
<html>
<head>
<title>InAppBrowser.removeEventListener Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// Global InAppBrowser reference
var iabRef = null;
function iabLoadStart(event)
alert(event.type + ' - ' + event.url);
function iabLoadStop(event)
alert(event.type + ' - ' + event.url);
function iabLoadError(event)
alert(event.type + ' - ' + event.message);
function iabClose(event)
alert(event.type);
iabRef.removeEventListener('loadstart', iabLoadStart);
iabRef.removeEventListener('loadstop', iabLoadStop);
iabRef.removeEventListener('loaderror', iabLoadError);
iabRef.removeEventListener('exit', iabClose);
// device APIs are available
//
function onDeviceReady()
function openPdf()
iabRef = window.open('test.pdf', '_blank', 'location=yes,toolbar=yes,transitionstyle=fliphorizontal');
iabRef.addEventListener('loadstart', iabLoadStart);
iabRef.addEventListener('loadstop', iabLoadStop);
iabRef.addEventListener('loaderror', iabLoadError);
iabRef.addEventListener('exit', iabClose);
function openHtml()
// open win and turn off location
var ref = window.open('index2.html', '_blank', 'location=no');
// attach listener to loadstart
ref.addEventListener('loadstart', function(event)
var urlSuccessPage = "index2.html";
if (event.url == urlSuccessPage)
ref.close();
);
</script>
</head>
<body>
<p><a href="javascript:openPdf();">PDF</a></p>
<p><a href="javascript:openHtml();">page 2</a></p>
</body>
</html>
我的配置文件内容:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.antidot.testpdf2" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>Hello Cordova</name>
<preference name="AllowInlineMediaPlayback" value="false" />
<preference name="BackupWebStorage" value="cloud" />
<preference name="DisallowOverscroll" value="false" />
<preference name="EnableViewportScale" value="false" />
<preference name="KeyboardDisplayRequiresUserAction" value="true" />
<preference name="MediaPlaybackRequiresUserAction" value="false" />
<preference name="SuppressesIncrementalRendering" value="false" />
<preference name="TopActivityIndicator" value="gray" />
<preference name="GapBetweenPages" value="0" />
<preference name="PageLength" value="0" />
<preference name="PaginationBreakingMode" value="page" />
<preference name="PaginationMode" value="unpaginated" />
<feature name="LocalStorage">
<param name="ios-package" value="CDVLocalStorage" />
</feature>
<name>test-pdf-2</name>
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="dev@cordova.apache.org" href="http://cordova.io">
Apache Cordova Team
</author>
<content src="index.html" />
<access origin="*" />
<feature name="InAppBrowser">
<param name="ios-package" value="CDVInAppBrowser" />
</feature>
<feature name="File">
<param name="ios-package" value="CDVFile" />
</feature>
<feature name="Console">
<param name="ios-package" value="CDVLogger" />
</feature>
</widget>
【问题讨论】:
对 InAppBrowser 问题有什么想法吗? 【参考方案1】:很可能inapp浏览器插件没有加载,而是一个webview。检查所有设置并查看是否实际调用了 inappbrowser。
【讨论】:
我遇到了同样的问题。我怀疑相同,但我不知道在哪里可以找到工作版本,所以我可以检查它是否被调用等等。关于在哪里看的任何指南? 看看这个答案,你的想法是对的,这是对我有用的解决方案。 ***.com/a/20939897/2637666以上是关于InAppBrowser 没有在 ios6 上显示工具栏与 cordova 3.3.0的主要内容,如果未能解决你的问题,请参考以下文章
我们如何在 Android 的 Cordova.inappbrowser 中显示基于 64 位字符串的 PDF
使用 Ionic + Windows Phone 8.1 显示 InAppBrowser