css - 手机间隙 : InAppBrowser insertCSS file

标签 css cordova inappbrowser

我正在尝试创建一个加载网站然后添加一些自定义 CSS 以将其调整为移动设备的应用。

我正在使用 window.open 成功加载页面,我在调用 browser.insertCSS 的 loadstop 上有一个回调,这就是问题所在。

如果我这样做:

browser.insertCSS({code:"body{background-color:red;}");

样式应用正确。但是,如果我这样做:

browser.insertCSS({file:"mobile-style.css");

然后将相同的 CSS 添加到文件中,它不会加载

我尝试了不同的路径(将文件放在 www 文件夹中,放在 css 文件夹中,与 JS 文件放在同一文件夹中,并用“./mobile-style.css”、“mobile-style.css”引用它)。 css", "/www/mobile-style.css", "/mobile-style.css"但它们似乎都无法正确加载文件。

我看到另一个帖子 What should file paths fed to insertCSS() be relative to?有人问了同样的问题,但没有被接受的答案(我已经尝试了那里的建议,但没有用)。

如有任何帮助,我们将不胜感激。

谢谢

最佳答案

您必须等到您的 inAppBrowser 页面加载完成。

您必须添加一个事件监听器:

var inApp = window.open('mypage.html', '_blank', 'location=no');
inApp.addEventListener('loadstop', function(){
    inApp.insertCSS({
        file: 'inAppStyle.css'
    },onSuccess);
});

已编辑

将此路径用于您的 android 元素 file:///android_asset/{您的文件夹}

信息:https://github.com/apache/cordova-plugin-file/blob/master/doc/index.md#android-file-system-layout

关于css - 手机间隙 : InAppBrowser insertCSS file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24098838/

相关文章:

windows-8.1 - 无法在Windows 8.1平台上使用cordova inappbrowser打开本地文件

javascript - Angular Marked 和 Inappbrowser 在系统浏览器中打开所有链接

html - Bootstrap - 一页的自定义表格行突出显示类

css 不设置 div 以适应全屏

javascript - PhoneGap Media Plugin - 你能检测到 url 流何时加载吗?

javascript - 采用高分子 Material 设计的 Phonegap 不起作用

javascript - 应用内浏览器无法加载页面

javascript - 是否可以在页面其他部分加载后克隆图像而不加载?

html - CSS在浏览器打印功能中显示水印

javascript - Phonegap "phonegap build ios"命令不起作用