我正在尝试使用示例https://gist.github.com/811993发布;我正尝试为我的父母使用网站www.baomoi.com上的自定义CSS文件,以使其更加简洁和高对比度.此代码示例导致加载时闭合力.我在/ Resources文件夹中有styles.CSS.如何确定导致错误的原因?
预先感谢大家的帮助.
https://gist.github.com/811993
在调试中,这就是我得到的:
E / KrollCallback(382):(kroll $1:app://app.Js)[234,4575]错误,调用:[callMethod UI.WebVIEw.UI.WebVIEw:event:load null],消息:大小必须> ; = 0
E / KrollCallback(382):java.lang.IllegalArgumentException:大小必须> = 0E / AndroIDRuntime(345):在org.appcelerator.titanium.kroll.KrollHandlerThread.run(KrollHandlerThread.java:86)
E / AndroIDRuntime(345):由以下原因引起:java.lang.IllegalArgumentException:大小必须为> = 0
E / AndroIDRuntime(345):位于java.io.ByteArrayOutputStream.(ByteArrayOutputStream.java:67)
E / AndroIDRuntime(345):位于org.appcelerator.titanium.util.TiStreamHelper.toByteArray(TiStreamHelper.java:106)
E / AndroIDRuntime(345):位于org.appcelerator.titanium.TiBlob.getBytes(TiBlob.java:120)
解决方法:
您应该使用evalJs而不是使用url属性来注入您的JavaScript.
您可以从文件中读取本地CSS数据,然后像这样插入:
// read the CSS content from styles.CSS var CSSContent = Titanium.filesystem.getfile('styles.CSS');// make it available as a variable in the webvIEw webvIEw.evalJs("var myCSSContent = " + JsON.stringify(String(CSSContent.read())) + ";");// create the style element with the CSS content webvIEw.evalJs("var s = document.createElement('style'); s.setAttribute('type', 'text/CSS'); s.INNERHTML = myCSSContent; document.getElementsByTagname('head')[0].appendChild(s);");
总结 以上是内存溢出为你收集整理的javascript-UIwebview中的CSS注入全部内容,希望文章能够帮你解决javascript-UIwebview中的CSS注入所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)