今天和Tim討論到標題這個東西
以前我同學在組前端的 javascript code 時
總會看到他在最後結尾時 把"</script>" 拆成 "<" + "/script>"
當時書上似乎也都是這麼作 所以我們都把它當成理所當然
不過就在多年後 坎尼總覺得怪怪的 為什麼不寫在一起就好了呢?
經過多次試驗 "</script>" 一直很正常啊 怪怪~
後來坎尼發現了以下的解釋 (以下講的都是個人推論 有錯請指正 ^^)
首先,坎尼認為會拆成兩段來寫的原因是:
這是個把程式寫在前端的aspx
我們直接看下圖用實例來說明
'
基本上大多數的人在新增一個頁面時
並不會把 將程式碼置於個別檔案中 這個打勾給去掉
所以我們會看到 aspx 和 aspx.cs 兩個檔案
但若是把打勾去掉呢? 那麼原本要寫在cs裡的code 就會變成寫在前端
此時aspx的頁面會在最上方增加 <script runat="server"></script>
所有的事件程式撰寫都會在這個範圍內
所以當我們要在後端輸出 javascript時 (如上圖)
寫下 Response.Write("<script> alert('aaa'); </script>") 時
.net 會跟你講這段程式碼有誤
所以坎尼猜,大概是它直接把 </script>
當成是最前面的 <script runat="server"> 的結尾
不過很神奇的是,若是我們把結束的 </script> 給拆開 (如下圖)
就又一切安然無事....
當然,以上那種情形在目前也不常見啦 (現在寫前端的應該不多吧?)
當時坎尼剛學 .net 時,剛好是 asp 轉 asp.net
很多人似乎都是從 asp 轉型過來 所以仍是習慣在前端頁面寫些東西
而那時看的書也都教這種 寫在前端 的方式
所以當時的人大概發現了 直接寫 "</script>" 來結束 javascript 行不通
於是乎都演變成 拆開寫 這種方式
以上純屬坎尼猜測
至於在 .cs 裡去撰寫呼叫 javascript
請安心的寫 </script> 吧 至少坎尼寫到現在都沒看到有誤
如果真的這麼寫會出錯...那就............寄信來跟坎尼說一下吧 XD
訂閱:
張貼留言 (Atom)
Google Spreadsheet 裡用規則運算式
最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D
-
今天坎尼去上課老師講了一題很有趣的題目 所以回到家坎尼就順手試驗了一下 I. XOR (exclusive OR) XOR 是邏輯運算子之一,定義為: 當兩數的值不同才為 true,相同則為 false 其他相關說明可以參考 維基百科:XOR II. 程式 以往的做法會宣...
-
好久沒開 Chart Control 議題了 剛好前陣子 Codeplex 出現可以輕鬆建立 Excel 檔案的 Library- NPOI 於是坎尼想說研究一下,看能不能把 Chart Control 匯出圖片到 Excel 中 沒想到只花了不到1小時就研究...
-
上個週末打開一個影片檔,發現字幕檔是中英文混合的,造成字幕吃掉畫面很大的空間, 打開字幕檔一看,果然每一段時間都有先英文後中文的字幕: 因此我想要自己作成「只有中文」&「只有英文」兩個字幕檔,但這個檔案有6418 行,如果要手動一行一行的刪除...
沒有留言:
張貼留言