我正在尝试从Javascript返回一个字符串:
[myWebView stringByEvaluatingJavaScriptFromString:@"myJavaScriptFunction()"];
对于短字符串,返回正常。 但是,当我返回一个很长的字符串(比如字符串中的5000个字符)时,我什么也得不到。
所以我猜它可能是由于NSString Size限制或我的“var jvString”大小限制。
请帮忙。感谢
答案 0 :(得分:1)
当方法stringByEvaluatingJavaScriptFromString
返回nil
时,表示出现了问题。由于NSString
尺寸限制,这很可能不,但出于以下原因之一:
来自文档:
每个顶级的JavaScript执行时间限制为10秒 入口点。如果您的脚本执行时间超过10秒,则为Web 视图停止执行脚本。这可能是随机发生的 放在您的代码中,可能会产生意想不到的后果。这个限制 强制执行,因为JavaScript执行可能导致主线程 阻止,因此当脚本运行时,用户无法进行交互 与网页。
JavaScript分配也限制为10 MB。网络视图提升 如果超出总内存分配限制,则会出现异常 用于JavaScript。
答案 1 :(得分:0)
由于32位结构,它的最大长度应为2 ^ 31-1个字符,这应该足够了;)