我在想,是不是因為你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,那么當前的變化量是一個關于 T
和 S
的函數, 即 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...
最后一級items 不應該是空數組
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 11,iPhone 上只有舊版本,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
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數據專業(yè)的國家
北大青鳥中博軟件學院創(chuàng)立于2003年,作為華東區(qū)著名互聯網學院和江蘇省首批服務外包人才培訓基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術與教育服務機構,發(fā)展為教育服務業(yè)的綜合性企業(yè)集團,成為集合面授教學培訓、網
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯想擔任系統開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經理從事移動互聯網管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經理職務負責iOS教學及管理工作。
浪潮集團項目經理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網頁制作和網頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經驗。曾經歷任德國Software AG 技術顧問,美國Dachieve 系統架構師,美國AngelEngineers Inc. 系統架構師。