![](/img/trans.png)
[英]how to pass a runtime parameter from html code to javascript function
[英]how to pass as parameter to JS function from HTML large chunk of HTML code?
我想將一大段(可能是2-3段html格式的代碼)作為參數傳遞給HTML的Javascript函數調用。 問題是,格式化的HTML始終出現在頁面本身中,事實並非如此! 我假設單引號/雙引號存在一些問題!
而且,我正在Facebook標簽頁上工作。
誰能幫幫我嗎 ?
謝謝。
-阿三
一種方法是擁有一個隱藏的div(帶有display:none的東西),並用2-3段html格式的代碼填充它。 然后,您可以將div的innerHTML傳遞到函數中。 引號(任何形式)都不會導致此方法出現問題。
像icanhaz.js之類的某些庫也執行以下操作:
<script type="text/html" id="someHTMLTemplate">
<div>You can put whatever html you want here</div>
<p>And the browser just ignores it</p>
</script>
我對mustache.js使用了相同的技術,然后在通過dom id抓取模板后從script標記的innerHTML抓取模板。 這樣做的好處是,當您需要在頁面的另一個節點上顯示瀏覽器時,瀏覽器不必解析額外的html,只需對其進行解析即可。
另一種方法是對HTML進行編碼,然后在JS中對其進行解碼。 這是使用JS轉義信息的示例:
console.log(escape("<hello></hello>")); // %3Chello%3E%3C/hello%3E
console.log(unescape("%3Chello%3E%3C/hello%3E")); // <hello></hello>
提醒您,如果您在一開始的字符串引號有問題,那么編碼仍然會出現問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.