工作随记2

1.微信个别手机没有声音(手机的安全机制需手动触发)可在分享处加事件

 原因: 因为各大浏览器都为了节省流量,做出了优化,在用户没有行为动作时(交互)不予许自动播放;

写法一     <audio src="music/bg.mp3" autoplay loop controls>你的浏览器还不支持哦</audio>        

写法二     <audio controls="controls">          <source src="music/bg.ogg" type="audio/ogg"></source>         <source src="music/bg.mp3" type="audio/mpeg"></source>         优先播放音乐bg.ogg,不支持在播放bg.mp3     </audio>    //JS绑定自动播放(操作window时,播放音乐)     $(window).one('touchstart', function(){         music.play();     })     

//微信下兼容处理     document.addEventListener("WeixinJSBridgeReady", function () {         music.play();     }, false);  

//小结     //1.audio元素的autoplay属性在IOS及Android上无法使用,在PC端正常;     //2.audio元素没有设置controls时,在IOS及Android会占据空间大小,而在PC端Chrome是不会占据任何空间;     //3.注意不要遗漏微信的兼容处理需要引用微信JS;  

2、跨域的几种方式

首先了解下浏览器的同源策略 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。

那么怎样解决跨域问题的呢?

    1 通过jsonp跨域  

       1.)原生实现:    

<script>
var script = document.createElement('script');
script.type = 'text/javascript';

// 传参并指定回调执行函数为onBack
script.src = 'http://www.....:8080/login?user=admin&callback=onBack';
document.head.appendChild(script);

// 回调执行函数
function onBack(res) {
alert(JSON.stringify(res));
}
</script>

2、 document.domain + iframe跨域
此方案仅限主域相同,子域不同的跨域应用场景。
1.)父窗口:(http://www.domain.com/a.html)

<iframe id="iframe" src="http://child.domain.com/b.html"></iframe>
<script>
document.domain = 'domain.com';
var user = 'admin';
</script>
2.)子窗口:(http://child.domain.com/b.html)

<script>
document.domain = 'domain.com';
// 获取父窗口中变量
alert('get js data from parent ---> ' + window.parent.user);
</script>

弊端:请看下面渲染加载优化

3、 nginx代理跨域
4、 nodejs中间件代理跨域
5、 后端在头部信息里面设置安全域名

3,jq缓存及动态加载js
缓存
jQuery.ajaxSetup({cache: true;});
动态加载js
$.getScript("AD1.js").done(function(){ console.log("ad1")});

  

4背景图像是否固定
CSS background-attachment 是css软件的一种属性。属性设置背景图像是否固定或者随着页面的其余部分滚动,所有浏览器都支持 。
scroll
默认值。背景图像会随着页面其余部分的滚动而移动。
fixed
当页面的其余部分滚动时,背景图像不会移动。
inherit
规定应该从父元素继承 background-attachment 属性的设置

原文地址:https://www.cnblogs.com/jingrf/p/8555718.html