应该为insertCSS()提供的文件路径应该是什么?

时间:2014-04-12 22:16:09

标签: javascript css cordova inappbrowser

我开始使用phonegap并且发现文档在这一点上有点茫然。

当我在my current project上使用insertCSS()时,似乎无论使用何种路径,都不会使用css。

从该链接可以看出,我的文件结构是:

app-root
|
...
|_ www
    |
    |_ css
    |   |
    |   target.css
    |
    |_ js
    |   |
    |   index.js
    |   
    index.html

在index.js中,我在inAppBrowser的事件监听器中调用insertCSS()。

此功能应该是拉动target.css:

iab.addEventListener('loadstop', function() {
    // Once loaded, add css
    iab.insertCSS( { file: "target.css" } );
});

但是......它没有

我尝试了多种不同的相对文件路径,例如css/target.css../css/target.css,但它们似乎无法正常工作。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

CSS中的内部类型样式通常比外部样式具有更高的优先级。

因此(来自您的GitHub代码):

iab.insertCSS( { code: "body { background-color: green; }" }, function(){
  iab.insertCSS( { code: "body { background-color: green; }" } );
总是会执行

而不是:

iab.insertCSS( { file: "../css/chat.window.css" }

因为它们都是相同元素的样式。从最高优先级到最低优先级的完整优先顺序是:

  1. 内联样式(最高优先级)
  2. 内部风格
  3. 外部风格(最低优先级)