loading
Please wait while loading...

查看詳情 Javascript 宣告string變數允許多行程式碼

平常我們要將一個 Javascript 變數設定為一段 html 代碼, 如果以 enter 直接跳行輸入多行內容, 瀏覽器便會顯示錯誤訊息, 例子如下:

$htm = '';

然後會得出以下錯誤:
SyntaxError: unterminated string literal

平常我會使用 "+" 連接以解決問題, 今天無意中發現, 原來只需在每行代碼的最後加入一個 "\" 便可允許多行輸入。

$htm = '';

查看詳情 檢查瀏覽器是否支援HTML5 drag and drop 拖放功能

if('draggable' in document.createElement('span')) {
  alert("Drag support detected");
}

查看詳情 修正 iPhone 橫看螢幕時自動放大的問題

將以下 javascript 代碼放到文件的 head 內即可

<script>
if (navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i)) {

/*! A fix for the iOS orientationchange zoom bug. Script by @scottjehl, rebound by @wilto.MIT / GPLv2 License.*/(function(a){function m(){d.setAttribute("content",g),h=!0}function n(){d.setAttribute("content",f),h=!1}function o(b){l=b.accelerationIncludingGravity,i=Math.abs(l.x),j=Math.abs(l.y),k=Math.abs(l.z),(!a.orientation||a.orientation===180)&&(i>7||(k>6&&j<8||k<8&&j>6)&&i>5)?h&&n():h||m()}var b=navigator.userAgent;if(!(/iPhone|iPad|iPod/.test(navigator.platform)&&/OS [1-5]_[0-9_]* like Mac OS X/i.test(b)&&b.indexOf("AppleWebKit")>-1))return;var c=a.document;if(!c.querySelector)return;var d=c.querySelector("meta[name=viewport]"),e=d&&d.getAttribute("content"),f=e+",maximum-scale=1",g=e+",maximum-scale=10",h=!0,i,j,k,l;if(!d)return;a.addEventListener("orientationchange",m,!1),a.addEventListener("devicemotion",o,!1)})(this);
}
</script>

查看詳情 從 iframe 呼叫父視窗

今天學會了一個新的 js 語法 --- window.parent

雖然現時 iframe 的使用度已大大減低, 但有些時候我們還是會用到它, 例如使用 ajax upload 的時候。使用 window.parent, 你可以從你的 iframe 呼叫父視窗的涵數, 從而做出一些互動的效果, 從以下的例子你可能可以更清楚了解它的用處:

...........