Javascript 馈送到insertCSS()的文件路径应该是相对于什么的?
我从phonegap开始,发现文档在这一点上有点吹牛 当我在它上使用Javascript 馈送到insertCSS()的文件路径应该是相对于什么的?,javascript,css,cordova,inappbrowser,Javascript,Css,Cordova,Inappbrowser,我从phonegap开始,发现文档在这一点上有点吹牛 当我在它上使用insertCSS()时,似乎不管我使用什么路径,都不会使用css 从该链接可以看出,我的文件结构是: app-root | ... |_ www | |_ css | | | target.css | |_ js | | | index.js | index.html 在index.js中,我在InApp浏览器的事件侦听器中
insertCSS()
时,似乎不管我使用什么路径,都不会使用css
从该链接可以看出,我的文件结构是:
app-root
|
...
|_ www
|
|_ css
| |
| target.css
|
|_ js
| |
| index.js
|
index.html
在index.js中,我在InApp浏览器的事件侦听器中调用insertCSS()
此函数应为pull target.css:
iab.addEventListener('loadstop', function() {
// Once loaded, add css
iab.insertCSS( { file: "target.css" } );
});
但是。。。没有
我尝试了多种不同的相对文件路径,如css/target.css
和。/css/target.css
,但它们似乎不起作用
我缺少什么?CSS中的内部类型样式通常比外部样式具有更高的优先级 因此(从您的GitHub代码中): 将始终执行,而不是执行以下操作:
iab.insertCSS( { file: "../css/chat.window.css" }
因为它们都是为同一个元素设计样式。从最高优先级到最低优先级的完整优先顺序为:
嗯,这是一个很好的观点,我已经从我的代码中删除了我相信你们所说的内联样式。我确实保留了外部文件调用,但我可以看到它似乎仍然没有效果。如果外部样式从来没有机会在页面上生效,为什么允许人们注入它们?还是我遗漏了什么?@RedRiderX GitHub上的代码是最新的吗?因为你只取了一个内部样式。在文件引用之前还有一个对不起,你在引用吗?我相信对内联样式的所有其他引用都已删除。@RedRiderX Ok。伟大的但是将.CSS文件包含在JS目录(包含index.JS)中,并以这种方式插入CSS:
iab.insertCSS({file:“chat.window.CSS”})
尽管我假设您的意思是iab.insertCSS({file:“chat.window.CSS”})代码>移动文件并更改文件路径后,样式似乎仍然不适用。这与您之前提到的继承有关吗?有没有其他方法可以解决这个问题?我发布了一个变通方法,这是一个较新的问题,但有更多的观点,可能是因为一个更具体的标题。我知道这个问题已经有好几年了。但如果有人有解决方案,请更新。@firefields不确定您的情况是否与我的完全相同,但我最终通过将css与js内联避免了这个问题。正如你所说,已经过去了几年,所以我对细节有点模糊,但你可以看到我在这里使用的代码:Thank you@RedRiderX这似乎是一个简单的解决方案。我可能也会这么做
iab.insertCSS( { file: "../css/chat.window.css" }