鍍金池/ 問答/ HTML問答
陌離殤 回答

我在想,是不是因為你iframe src里面指定的是你本地的html文件???我在網上看了一下,不知道是不是因為src里面的page需要是一個host在某個server上面的頁面才可以。當然這都是我的猜測,沒用過postMessage。。。
還有,如果你的src里面用的是本地html文件,相當于符合同源策略咯,應該可以使用傳統的方式:
var iframe = document.getElementById('ifr'); //通過id獲取iframe
var ifrDoc = iframe.contentWindow.document; //通過iframe拿到iframe的document對象
然后可以通過iframe里面的document對象操作iframe頁面,比如:ifrDoc.getElementById('someId').innerHTML = "someValue";
這些都是我的想法而已,不喜勿噴,哈哈。。。

氕氘氚 回答

太感謝@勤奮的小小塵,完全解決了心中的疑慮,果然如此。我這的VPN用不了了,某度又找不準想要的。真是千恩萬謝

大濕胸 回答

動態(tài)計算,使隨機的期望值在理論上符合你的要求即可。
當然,最后的結果,不可能是嚴格的 10 分鐘。(如果要嚴格也可以,只是后面的變化,可能是 0 而已)

很簡單的歸并問題,目前剩余時間 T (時間可以轉化為“循環(huán)次數”,“間隔時間”等),相差的量是 S,那么當前的變化量是一個關于 TS 的函數, 即 d(n) = f(T, S) ,變化之后,下一個 d 就是 d(n+1) = f(T - t, S - d) 。進一步,當 S <= 0 時, d = 0


給個進度條的例子,每次隨機值的變化程度是動態(tài)分頁數據的那個 stdDev 影響的:

<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />
<title>變化</title>
<link rel="stylesheet" type="text/css" href="" />
<script type="text/javascript" src="https://s.zys.me/js/jq/jquery.min.js"></script>
</head>
<body style="margin: 100px;">
  <div id="bg" style="width: 800px; height: 30px; background-color: gray;">
    <div id="bar" style="width: 50%; height: 30px; background-color: red;"></div>
  </div>

  <script type="text/javascript">
    // http://www.cnblogs.com/zztt/p/4025207.html
    // 抄的正態(tài)分布生成算法

    function getNumberInNormalDistribution(mean, stdDev){
      return mean + (randomNormalDistribution() * stdDev);
    }

    function randomNormalDistribution(){
      var u=0.0, v=0.0, w=0.0, c=0.0;
      do {
        //獲得兩個(-1,1)的獨立隨機變量
        u = Math.random() * 2 - 1.0;
        v = Math.random() * 2 - 1.0;
        w = u * u + v * v;
      } while( w == 0.0 || w >= 1.0 )
        //這里就是 Box-Muller轉換
      c = Math.sqrt( (-2 * Math.log(w)) / w );
      //返回2個標準正態(tài)分布的隨機數,封裝進一個數組返回
      //當然,因為這個函數運行較快,也可以扔掉一個
      //return [u*c,v*c];
      return u * c;
    }

  </script>

  <script type="text/javascript">



    // 假設整個變化過程為 5000 毫秒時間, 總長度是 800px
    var T = 5000;
    var D = 800;

    // 同時, 我們定每 100 毫秒變化一次, 則整個過程執(zhí)行完是 5000 / 100 = 50 次的變化
    // 那么, 如果每次變化是平均的, 則期望值是 800 / 50 px 每次.
    var PER = 100;
    var N = T / PER;

    var $n = $('#bar');
    $n.width(0);

    var width = 0;
    function action(){
      var n = getNumberInNormalDistribution(D / N, 10);
      D -= n;
      if(D <= 0){ $n.width('800px'); over(); return }
      $n.width(width + n + 'px');
      width += n;
      N -= 1;
      if(N <= 0){ $n.width('800px'); over(); return }
      setTimeout(action, PER);
    }

    function over(){
      console.log('over');
      setTimeout(reset, 3000);
    }

    function reset() {
      T = 5000; D = 800; PER = 100; N = T / PER;
      $n.width(0);
      width = 0;
      action();
    }

    action();


  </script>
</body>
</html>
尤禮 回答

已經解決了,使用flask的send_from_directory方法

朕略萌 回答

打開設置修改:

"editor.tabSize": 2

另外如果該設置無效檢查下你是否有用到editorconfig...

孤星 回答
function rebuild (arr, key) {
  let res = []
  let keycopy = JSON.parse(JSON.stringify(key))
  let k = keycopy.shift()
  while (arr.length) {
    let obj = {}
    obj[k] = arr[0][k]
    let arrcopy = JSON.parse(JSON.stringify(arr))
    obj.children = arrcopy.filter(val => val[k] === obj[k]).map(val => {
      delete val[k]
      return val
    })
    res.push(obj)
    arr = arr.filter(val => val[k] !== obj[k])
  }
  return res.map(val => keycopy.length ? {
    ...val,
    children: rebuild(val.children, keycopy)
  } : val)
}
rebuild(_arr,['aId','bId'])
喵小咪 回答

一般的序列號只有 6~8位,是對應手機生產廠家的,并不具有唯一性,但是可以作為 指紋信息的一部分。

魚梓 回答

componentWillReceiveProps這個方法都要被廢棄了,怎么還在用?

故人嘆 回答

提供一個思路, 預先將所有video標簽插入文檔中 然后顯示第一個,第一個播完顯示第二個

青黛色 回答

這里面的坑是非常可怕的。

主要是用到 MediaDevice.getUserMedia 這個東西。

界面先不說,要注意的是這東西的兼容性非常糟糕,比如:

創(chuàng)建的時候需要傳遞配置參數,多數情況下你可以按文檔中的說法去指定分辨率:

{
    video: {
        width: xxx,
        height: xxx
    }
}

然而,這個寫法會導致在 IOS 平臺獲取不到任何流數據,正確姿勢是這樣的:

{
    video: true
}

但是很顯然,這樣就沒辦法指定你的視頻流的分辨率大小,系統想給你怎樣的就是怎樣的。

然后就是更加坑的第二點:

在文檔的兼容性列表中,提到了 Safari Mobile 的最低支持版本為 11,但是我在測試時(四臺 IOS 設備,三臺 iPhone,一臺 iPad,均為 IOS 11)只能在 iPad 上獲得流數據,iPhone 上是不行的。

這里面引發(fā)了第三點:

這個 API 有個歷史兼容的舊版本: navigator.getUserMedia,兩個版本的 API 差別大到一個是用 Promise (新版本) 處理而另一個是用 callback (舊版本),因此你必須在使用前進行 if(navigator.MediaDevices) 來判斷是否有新 API 能調用,而問題在于,即便同為 IOS 11iPhone 上只有舊版本,iPad 上卻是新的。

所以,雖然有接口可以讓你獲得攝像頭的流數據,但是感覺兼容性是個硬傷,請多考慮。

另外請多留意文檔中提及的兼容性處理庫 webrtc-adapter,而這里是個測試接口可用性的頁面。

由于我并不是前端開發(fā),因此這個兼容性問題已經折磨得我無法再鉆研下去,也許我測試方法或結果有誤,有了解這方面情況的朋友還請麻煩指出錯誤,謝謝!

夕顏 回答

css3是可以用百分比作為單位的。
設置一下不就好啦。

卟乖 回答

你可以把已播放歌曲列表緩存在本地。然后寫一個監(jiān)聽本地緩存列表,更新數據到前臺。

壞脾滊 回答

localStorage.setItem("name","caibin") //存儲名字為name值為caibin的變量
localStorage.getItem("name") //caibin,讀取保存在localStorage對象里名為name的變量的值
localStorage.removeItem("name"); //刪除name
localStorage.clear() // 清空緩存

冷溫柔 回答

函數也是對象,對象是引用數據類型,在賦值的時候傳遞的是引用值,相當于地址。

 var res=fn;//把函數的引用指向res 變量
  
  //提問中 
  var res = fn(ary)//  fn(ary) 相當一個表達式,求出結果后賦給 res
  //所以 res 指向的應該是 return 語句返回的 數組ary的引用
你好胸 回答

arr[i].indexOf意思是arr[i].toString().indexOf也就是"[object Object]".indexOf,所以當然不行,如果你非要用indexOf你需要把值做JSON.stringify(arr[i])處理。

選擇 回答

css-loader 用cnpm下載貌似會出問題的,得單獨用npm去下載css-loader