zoukankan      html  css  js  c++  java
  • 工作随记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 属性的设置

  • 相关阅读:
    【LeetCode】17. Letter Combinations of a Phone Number
    【LeetCode】16. 3Sum Closest
    【LeetCode】15. 3Sum 三个数和为0
    【LeetCode】14. Longest Common Prefix 最长前缀子串
    【LeetCode】13. Roman to Integer 罗马数字转整数
    【LeetCode】12. Integer to Roman 整型数转罗马数
    【LeetCode】11. Container With Most Water
    【LeetCode】10. Regular Expression Matching
    Models of good programmer
    RSA Algorithm
  • 原文地址:https://www.cnblogs.com/jingrf/p/8555718.html
Copyright © 2011-2022 走看看