1、对于使用$.load( html)方式进行分部式、异步加载html内容的注意事项:
①使用jquery的load()异步加载页面。发现页面的js不能使用。几番尝试终于解决了问题。
解决思路就是在load()加载完成后,在去加载该页面的js。代码如下:
https://blog.youkuaiyun.com/Edu_enth/article/details/60754489
https://blog.youkuaiyun.com/wordgg/article/details/79076245
②使用jquery的load()异步加载页面,其页面中异步加载的脚本不能调试的解决方法:
描述
1:jQuery->var obj= new $.js_Obj();等异步加载js文件,执行方法。
obj.method();
2:页面估计不变,通过声明不同的js文件,进行页面内容的转换
等方法,在浏览器是调试工具,是调试不到js文件
解决方法
在需要调试的js文件顶部加一行代码:
//@ sourceURL=msgprompt.js
注意,@符号和sourceURL间必须有空格
测试有效效果
1: Chrome
2: FireFox
在以上2种浏览器都能加载到msgprompt.js ,js文件。
其中chome在文件夹里面
Firefox直接在里面能看到
3、每个文件夹都可以包含 web.config 对当前文件夹进行配置,可以覆盖父文件夹的配置,默认是继承
4、designer.cs是asp.net Web应用程序工程里面才有的,网站类型的工程是没有的。
在asp.net Web应用程序工程里,点解决方案资源管理器里面的显示所有文件,看看有没有,如果有就包含在项目中
5、不然正常js获取是不需要form表单的,这里我们要注意一点,ajax的传输与form表单冲突,如果两个都有就只会走form表单
6、对了强调一点serializeArray()必须有name属性才可以使用,如:
8、form中submit控件,即使form没有action指定一般处理程序地址,只要有runAt=server,那么submit执行sumbit事件时,就会向form相应绑定的aspx后台页面发送请求,并刷新,所以如果想定位不同的处理程序,而且屏蔽submit事件,就使用click事件(这样就不会向相应的aspx页面发送请求)
9、就是因为使用的是客户端控件,所以选中的值不可以写入viewstate里面,如果有页面回传,这个值就不可以保留了,如果要在页面回传后还保留这个值,就要使用js,
10、ajax的load方式,与元素加载完毕的load事件不同! 要注意
11、是浏览器不允许在https页面里嵌入http的请求,现在高版本的浏览器为了用户体验,都不会弹窗报错,只会在控制台上打印一条错误信息。
1、最简单的解决办法当然就是不要使用http请求,把网站上的http请求都迁移到https。
2、使用https请求腾讯视频:src="https://v.qq.com/txp/iframe/player.html
************************Web3D第二阶段(2020.1.10)************************
1、jqueyr的$.when().done().then()的用法:https://www.cnblogs.com/tiancai/p/5817996.html
deferred对象的最大优点,就是它把这一套回调函数接口,从ajax操作扩展到了所有操作。也就是说,任何一个操作----不管是ajax操作还是本地操作,也不管是异步操作还是同步操作----都可以使用deferred对象的各种方法,指定回调函数。
2、jquery页面缓存方式:
以上缓存可以使用如下方式进行缓存获取:
var _this = $(this);
tid = _this.data('id');//获取的是 data-id缓存
3、判断数据库中的字段是否为空,使用以下方式好:
if (!string.IsNullOrEmpty(s.ExpSceneBrief))
5、input file控件上传文件
①file控件在form表单中
Ajax上传文件方式:
② file控件不在form表单中
Ajax上传文件方式: