簡體   English   中英

如何作為參數從HTML大塊HTML代碼傳遞給JS函數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM