0
我創建了一個包含一些嵌入式JavaScript的XSL樣式表。它調用函數,然後調用document.write()將這些函數的結果打印到頁面上。無法在XSLT樣式表(Firefox)中使用document.write
<xsl:foreach...>
<div class="directionBlock">
<script type="text/javascript">writeDirection('<xsl:value-of select="Direction"/>');</script>
</div>
</xsl:foreach...>
不幸的是,在firefox中,不支持document.write()。該怎麼辦?
- 腳本標記上的語言屬性應該標識腳本語言,而不是MIME類型。另外,它在上面的代碼中拼寫錯誤。 - Firefox中支持document.write - 答案的線索位於錯誤控制檯中。 - 您的示例代碼中沒有document.write。 – Mel 2011-05-24 15:30:57
XSL樣式表非常不可能調用document.write。更可能的是,它會生成一個HTML腳本元素,該元素在激活時會調用document.write。差異是相當重要的。 – 2011-05-24 16:03:37
1.謝謝你。將更正。我打算輸入script type =「text/javascript」/> 2.正確。是。我有一個
爲什麼你需要同時使用XSLT和Javascript來輸出HTML?如果您的目標是輸出
div
中包含script
元素的內容,請考慮單獨使用XSLT。如果您確實需要使用Javascript創建內容,請考慮使用類似createElement
和appendChild
而不是document.write
的方法。 只要一般答案可以提供幫助,如果您需要特定的幫助,那麼我們需要查看代碼的詳細信息,例如writeDirection
函數以及您傳遞給它的參數。爲了給你一些示例代碼的概述,如果你的writeDirection函數需要添加內容到div然後把一個id放在div上例如
<div id="db1" class="directionBlock">...</div>
,然後將它傳遞給writeDirection函數,例如<script type="text/javascript">writeDirection('<xsl:value-of select="Direction"/>', document.getElementById('db1'));</script>
,然後在功能根本就來源
2011-05-24 16:06:26
謝謝你。這正是我最終做的。需要調用JavaScript的原因是因爲客戶端需要複雜的輸出數據格式。 – Spider 2011-05-25 17:02:02