2
爲什麼腳本標記和內容不會顯示在div標記內部,例如。javascript腳本隱藏在源視圖中
我有以下代碼:
<div>
<!-- BEGIN: YTV Syndicate script -->
<!-- Edit Section-->
<script type="text/javascript">
alert('hello!'); //check if scripts actually works
var YTVSYND = {}
YTVSYND.key = 'xxx';
YTVSYND.template = {}
YTVSYND.template.name = 'ytv'
YTVSYND.template.size = 'size300x250'
YTVSYND.soc = '<%= Model.Code %>';
YTVSYND.type = 'career';
</script>
<!-- END: EDIT -->
<!-- === DO NOT EDIT BELOW=== -->
<script type="text/javascript">
var ytvSyndUrl = (location.protocol == 'https:') ? 'https://' : 'http://';
ytvSyndUrl += 'syncdn.youniversitytv.com/synapi/embed/ytv-embed-api.js';
ytvSyndUrl = "/Scripts/ytv-embed-api.js"
var str = "<scr" + "ipt type='text/javascript' src='" + ytvSyndUrl + "'>";
str += "<";
str += "\/scr" + "ipt>";
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = ytvSyndUrl;
$("#fgm").html(str)
</script>
<!-- EOF: YTV Syndicate script -->
</div>
它只是執行,但是當我檢查源它只顯示評論
<!-- BEGIN: YTV Syndicate script -->
<!-- Edit Section-->
<!-- END: EDIT -->
<!-- === DO NOT EDIT BELOW=== -->
<!-- EOF: YTV Syndicate script -->
,沒有腳本標籤和實際腳本的跡象。
注意:這是在jquery模式中,我有一個正常頁面內的相同腳本,它顯示在源視圖中。
是什麼瀏覽器您使用?你如何看待源代碼? –
您是否正在檢查文檔視圖(使用Firebug或Chrome開發工具)或通常通過右鍵單擊頁面並選擇「查看源」選項顯示的實際源? –
這些都不重要,因爲jQuery去掉了'
的
使用Web開發人員在加載一些HTML內容進入DOM動態地使用jQuery,它完全去掉
<script>
標籤。在大多數情況下,它會對它們進行評估(使用「eval()」或多或少的瀏覽器),但它們在DOM中不可用。您可以在jQuery源代碼starting around this point中看到代碼。
編輯 —請注意,我假設,你動態地添加一些HTML。如果你不這樣做,那麼
<script>
標籤將是在DOM中,你將能夠看到他們在Firebug等來源
2011-11-14 22:09:33 Pointy
任何解決方法? –
@mircea。請問爲什麼需要在源代碼中顯示腳本?它有什麼不同? –
我試圖弄清楚爲什麼它有這種行爲。我的問題是腳本被執行,但最後一行「$(」#fgm「)。html(str)」覆蓋整個文檔而不是「fgm」div。 –