[英]Multiple inline comments for html
我正在嘗試評論以下html,以便它不應轉到超鏈接。
<a href="<!--http://www.google.com=-->" target="_blank" onclick="javascript:alert('Navigation Prevented')">CLICK HERE FOR GOOGLE</a>
我無法評論target =“ _ blank”。 如果這樣做,它將無法正常運行,並且也會在頁面上顯示javascript。
如何使頁面顯示警報以及如何在新選項卡中停止打開頁面。 我希望取消target =“ _ blank”的效果。
我們不能為html內聯多個注釋。
您可以通過添加return false;
代替注釋return false;
。 這樣可以防止瀏覽器跟蹤鏈接:
<a href="http://www.google.com" target="_blank"
onclick="javascript:alert('Navigation Prevented'); return false;">CLICK HERE FOR GOOGLE</a>
<a href="google.com" target="_blank" onclick="javascript:alert('Navigation Prevented');return false;">CLICK HERE FOR GOOGLE</a>
重要的是return false;
在onclick
屬性上。 這指示瀏覽器單擊后立即取消此鏈接。 因此,將執行javascript,但不會遵循該鏈接。
HTML標記內不能包含HTML注釋,因為注釋本身就是標記。
您可以從事件處理程序中返回false
,以防止瀏覽器跟蹤該鏈接:
<a href="http://www.google.com" target="_blank" onclick="javascript:alert('Navigation Prevented');return false;">CLICK HERE FOR GOOGLE</a>
在看到其他用戶說注釋不能包含在元素屬性中之后,我開始想知道為什么。 當然,這是一個不好的做法,但是為什么不起作用呢?
我檢查了HTML5注釋和HTML4.01注釋的規范,答案在4.01規范中:
請注意,注釋是標記
<!
注釋的一部分僅打開一個聲明,然后>
關閉。 --
字符串將聲明標識為注釋。 將注釋語法與doctype聲明和CDATA節進行比較時,這一點變得顯而易見。
因為您不能在屬性值內放置聲明(我無法在規范中找到明確聲明的內容,但似乎很明顯),因此注釋不能包含在屬性值中。
有趣的是, HTML5注釋部分沒有提到“注釋是標記”注釋。 但是,我認為相同的規則仍然適用。
如果有任何錯誤,請隨時發布更正。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.