背景描述:
一个页面叫page.htm,它里面有个iframe.iframe的source为inner.htm.现在有个需求,在inner.htm里面通过json和AJAX配合将服务端的数据取过来。取过来之后需要赋值给parent,以供显示。可以想象,但iframe里面刷新的时候,外面的部分应该完全不会受到影响。
问题:
可是事实总不会像想象一样发展。当iframe刷新的时候,外面部分的显示和涉及到之前json的操作全部都抛出“意外的调用了方法或属性访问”错误。
解决方案:
在page.htm里面放个hidden的input,把json放到input的value里面。page.htm关于json的操作直接到input里面去取值。
问题分析:
json是一个对象,当直接用赋值的方式赋给parent的一个引用的时候,当iframe一刷新,引用不再有效,paren里面的任何对该json的操作都是对一个不存在的对象进行操作,必然报错。
但是为什么放到input里面可行呢?原因是由于json赋值给input.value的时候,已经自动从对象转换成string了。input.value里面引用的是String,当iframe刷新的时候并不好影响到parent.input.value里的string变量的存活。故该方法可行。
总结:
对象的生命周期值得我们关注,特别是使用到iframe等会使得对象被destory的时候,更应该小心!
分享到:
相关推荐
live2d看板娘设置json,如需下载后请查看备注进行使用啊
基于swift4.0,由王巍翻译的Swift必备tips,讲解了swift里面常用的知识点,可帮助你提高对swift的认识,更好的在工作中使用。
5. **网络请求与响应处理**:Retrofit、OkHttp等网络库的使用技巧,以及如何处理网络错误、缓存策略和JSON解析等。 6. **权限管理**:Android的运行时权限系统对应用权限进行了严格控制。Protips可能讲解如何优雅地...
Codable协议使得JSON和其他数据格式的编码和解码变得简单,减少了手动转换的工作量。 15. **运算符重载** Swift允许我们自定义运算符,以符合特定数据类型的逻辑,但应谨慎使用,避免滥用导致代码难以理解。 ...
6. **Codable协议**:Swift 4.0引入了`Decodable`和`Encodable`协议,简化了JSON和XML数据的序列化和反序列化。 7. **新语法特性**:如`#available`用于版本控制,`@dynamicMemberLookup`允许动态成员查找,以及`@...
综上所述,"objccn-swifter-tips"资源覆盖了Swift4的关键特性,包括类型安全、错误处理、元组、键路径、协议、字符串处理、泛型、JSON处理以及SPM等。对于iOS开发者来说,深入理解和掌握这些知识点,无疑将极大地...
json中文官网(也就一个页面)http://www.json.org/json-zh.htmlc#的一个实现...拥抱JSON,让XML走开 http://searchwebservices.techtarget.com.cn/tips/481/2708981.shtmlAjax Usi
此外,`index.json`还可以用来设置页面的权限控制,确保用户在合适的时候看到“添加小程序”的提示。 `index.wxml`是小程序的结构层文件,它定义了页面的结构和交互元素。在这个组件中,我们需要一个按钮或者图标来...
Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...
经过一周的时间终于做出来了,此文件代码主要的是实现动态切换 chart line ,tips 显示数据的饼状图和grids,难点在作用域的实现需要的有一定的js基础,(因开发的原因后台代码未上传,基于json的传输,SQL是...
同时,也可能探讨了Core Data,Apple的持久化框架,以及网络请求和JSON解析。 最后,王巍(喵神)可能会分享一些优化代码性能和调试技巧,比如如何使用Swift的性能分析工具,以及如何编写高效的算法。 总的来说,...
**AJAX基础教程-8 Tool Tips** 在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种不刷新整个页面即可更新部分网页内容的技术。在AJAX的帮助下,我们可以创建交互性更强、用户体验更好的Web应用程序。本...
20. JSON和Codable协议:Swift的Codable协议允许开发者将数据编码成JSON格式,反之亦然,从而方便地处理网络数据交换。 21. Swift中的安全实践:包括代码组织和Framework的创建,以及如何安全地管理资源。 22. ...
- Swift 4.0引入了`Codable`协议,使得数据模型与JSON或Property List之间的转换变得简单直接,无需手动编写序列化和反序列化的代码。 3. **集合类型的改进**: - **Set的成员操作**:新增了`insert(unique:)`...
源码可能包含异步处理、JSON解析以及错误处理等关键环节。 5. **性能优化**:源码可能包含内存管理、耗时任务调度、多线程优化等内容,帮助我们写出更流畅、更高效的代码。 6. **组件间通信**:Activity、Service...
"Swifter-Swift开发者必备Tips-4"是针对Swift4版本的一份指南,旨在帮助开发者充分利用Swift4的新特性和最佳实践,提升开发效率。以下是基于该主题的详细知识点: 1. **Swift4的新特性**:Swift4引入了多个改进和新...
2. **项目配置文件**:例如.gitignore(Git忽略文件)、.gitmodules(Git子模块配置)、package.json(Node.js项目配置)、build.gradle(Gradle构建配置)等。 3. **README文件**:通常为.md或.txt格式,用于介绍...