javascript-UIwebview中的CSS注入

javascript-UIwebview中的CSS注入,第1张

概述我正在尝试使用示例https://gist.github.com/811993发布;我正尝试为我的父母使用网站www.baomoi.com上的自定义css文件,以使其更加简洁和高对比度.此代码示例导致加载时闭合力.我在/Resources文件夹中有styles.css.如何确定导致错误的原因?预先感谢大家的帮助.https://gist.githu

我正在尝试使用示例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],消息:大小必须&gt ; = 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注入所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1070647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存