2010-03-10 77 views
2

我發誓上週我有這個工作,但是......有人知道如何獲得在電子郵件中工作的同一頁面hrefs嗎?我正在使用這種格式;電子郵件內的同一頁面鏈接

<a href="#targetelement">quicklink</a> 

... 

<div id="targetelement">Hello there</div> 

其中在一個標準的網頁自然的作品,但在電子郵件客戶端查看時,它不會做任何事情(在雷鳥和Gmail迄今爲止檢測)。在電子郵件中甚至有可能實現同一頁面鏈接?如果沒有,是否有其他方法?

UPDATE:
使用ID確實會雷鳥工作,除非該郵件已被轉發,則它停止工作。 ID在Gmail中不起作用,名稱也不起作用。

+0

如果它在webmail查看器中不起作用,您應該檢查它實際發送到瀏覽器的源代碼。這可能會讓你對Webmail查看器實際上做什麼來破壞你的代碼有所瞭解(例如,它可能會修改或去除ID)。至於桌面應用程序:你可能不太好運,因爲他們的HTML支持可能相當粗略。 – 2010-03-10 12:09:12

回答

2

現在試試。 :)

<a href="#targetelement">quicklink</a> 

... 

<a name="targetelement">Hello there</a> 
+0

爲什麼這個工作時,ID不會?電子郵件客戶端通常使用與瀏覽器相同的呈現引擎(Thunderbird使用Gecko和GMail使用......使用任何瀏覽器)。 (好的,我可以明白爲什麼它可能會**在GMail中工作,這取決於Google是如何淨化HTML的,但是桌面客戶端?) – Quentin 2010-03-10 11:30:44

+0

@MatW。你確定郵件是HTML嗎? – raj 2010-03-10 11:53:59

+1

Erm ... No.實際上,ID甚至可以覆蓋名稱。再也沒有真正的理由在表單之外使用name屬性了(當然不適用於錨)。我想,HTML5完全將名稱屬性放在錨上。請參閱http://stackoverflow.com/questions/484719/html-anchors-with-name-or-id也http://www.w3.org/TR/REC-html40-971218/struct/links.html#h -12.2.3 – 2010-03-10 12:00:40

0

這將完全取決於(基於桌面或Web)的郵件客戶端上,不同的客戶端使用不同的規則集和引擎解析和顯示電郵,所以沒有明確的答案。

+1

而不是說所有人都沒有一個答案,你至少可以說明我的問題中提到的一個客戶的答案。 – Mathew 2010-03-10 11:55:09

+0

@MatW:由於您的問題不是「我如何在這兩個電子郵件客戶端之一中完成這項工作?」但包括「迄今爲止在Thunderbird和Gmail上測試過的**」這樣的措辭,似乎你並不想爲其中一個可用的客戶端做一個快速修復,而是一個通用的解決方案。 – 2010-03-10 13:40:52

+0

夠公平的,但爲什麼花時間鍵入一個不回答? – Mathew 2010-03-10 14:58:43

0

爲什麼不試試

<a href="#targetelement">quicklink</a> 

... 

<a name="targetelement" id="targetelement">Hello there</a> 

在相同的鏈接,不是很好 - 但可能得到它在幾個客戶的工作。