2009-07-06 12 views
27

Jak uwzględnić javascript w wiadomościach e-mail w formacie HTML - potrzebujemy go do rozwijania i zwijania treści w e-mailu HTML.HTML e-mail z Javascriptem

+0

Zwijanie można osiągnąć za pomocą CSS: https://www.campaignmonitor.com/blog/email-marketing/2011/08/designing-ultra-short-emails-for-mobile-using-progressive-disclosure/ To głównie na iPhony jednak. – revelt

+0

Możliwy duplikat [Czy JavaScript jest obsługiwany w wiadomości e-mail?] (Http://stackoverflow.com/questions/3054315/is-javascript-supported-in-an-email-message) – HPierce

+0

Myślę, że możesz utworzyć 'javascript 'załączone w mailu z domyślnym kodowaniem' base64', a następnie wykonaj poprawkę kodu w celu renderowania.Sprawdź z odpowiednimi RFC z IETF. Jest sposób. –

Odpowiedz

50

Nie sądzę, że jest to możliwe w e-mailu, ani nie powinno tak być. Nastąpiłyby poważne konsekwencje dla bezpieczeństwa.

+1

Zgadzam się z Tobą. Ale dostałem maila z reklamą z naszej popularnej strony internetowej: pigu.lt i poczta wewnętrzna zostały umieszczone (i zmieniające się) odliczają czas, by czas zniżki minął. JAK TO MOŻLIWE? Za pomocą wyjątków obrazu? .. – JDSolutions

+1

@JDSolutions Timer jest statycznym obrazem, ale serwer obsługuje nowy i nowy i wydaje się dynamiczny. Wyszukaj movablyink, aby dowiedzieć się więcej o dynamicznych elementach w e-mailach. – revelt

20

Nie polegaj na tym. Każdy dobry klient pocztowy nie będzie obsługiwał kodu wykonywalnego w wiadomości e-mail. Każdy kompetentny użytkownik nie będzie używał klienta, który to robi.

25

Zgadzam się całkowicie z Bryanem i innymi.

Zamiast tego należy rozważyć użycie wielu sekcji w wiadomości e-mail, które można przeskoczyć za pomocą odnośników i zakotwiczeń (znacznik "a"). Myślę, że możesz emulować pożądane zachowanie, dodając wiele kopii tekstu w dalszej części wiadomości e-mail. Jest to jednak zakłopotany, więc możesz mieć zestawy zakotwiczeń, które łączą się ze sobą i pozwalają na przejście z sekcji "podsumowania" do "rozwiniętej".

przykład:

<a href="#section1">Jump to section!</a> 
<p>A bunch of content</p> 
<h2 id="section1">An anchor!</h2> 

Kliknięcie pierwszego łącza będzie przeniesienie kursora na podsekcji.

+4

Pamiętaj, że nie musisz używać to put down an anchor for the link - just having an element with the proper id attribute will work. So if you have Jump to section!, a później, gdy ta sekcja się zaczyna, potrzebujesz czegoś w rodzaju

Section 1

. – Xanthir

+0

Podczas gdy inne są oczywiście również tutaj poprawne, jestem nieco zszokowany, że ta odpowiedź nie uzyskała więcej głosów w górę, ponieważ jest nie tylko poprawna, ale także jedyną próbą korekty kursu PO. – Lance

8

Podobnie jak ostrzeżenie, wiele nowoczesnych przeglądarek poczty e-mail ma wyłączoną obsługę JavaScript dla przychodzących wiadomości e-mail, ponieważ może to powodować problemy z bezpieczeństwem. Oznacza to, że wiele osób, z którymi wysyłasz wiadomości e-mail, może nie być w stanie korzystać z treści.

PS. Nie widziałem powyżej postu w chwili publikacji. Mój błąd.

6

Krótka odpowiedź brzmi, że obsługa skryptów nie jest obsługiwana w wiadomościach e-mail.

Nie jest to zaskakujące, biorąc pod uwagę oczywiste zagrożenia bezpieczeństwa związane ze skryptem działającym wewnątrz aplikacji, która zawiera wszystkie przechowywane w nim dane osobowe.

Klienty Webmail w większości pracują z interfejsem JavaScript i nie przeszkadzają im w zakłócaniu poczty e-mail, a filtry klientów na komputerach często uznają JavaScript za wskaźnik spamu lub phishingu. Nawet w tych przypadkach, w których może działać, skrypty w wiadomościach e-mail nie przynoszą większych korzyści.

Zachowaj e-maile jako proste HTML i CSS i unikaj kłopotów. Oto, co można zrobić w e-mailach HTML: https://www.campaignmonitor.com/guides/coding/technologies/

0

Oto co CAN temat:

Można dołączyć (na e-mail) dokumentu HTML zawierającej JavaScript.

Następnie, gdy odbiorca otworzy załącznik, jego przeglądarka ułatwi zaimplementowane funkcje dynamiczne.

+4

Nie mogę tego zbyt mocno zalecić. Po pierwsze prawie na pewno zostaniesz oznaczony jako spam, jeśli wyślesz załącznik HTML. Po drugie, prawdopodobnie napotkasz problemy z JavaScriptem. A po drugie, byłoby to okropne doświadczenie dla użytkownika. Teraz, jeśli po prostu podasz link do adresu URL, miałoby to sens. –

+2

Voted up! Chcę to zrobić bez względu na to, czy klient nie uruchomi skryptu. –

+0

Ci, którzy głosowali na to, podają swoje powody, zwłaszcza jeśli była to po prostu odrażająca "moralna" reakcja, ponieważ jest to * techniczna * dyskusja. Ktoś, szczególnie ci, którzy dostali to głęboko na tej stronie, i tak zdaje sobie sprawę z wpływów bezpieczeństwa. Niezależnie od tego, dobrzy faceci, którzy to czytają, powinni wiedzieć - * nawet więcej niż źli! ... * - co można zrobić, a czego nie. –

0

Możesz użyć wejścia html radio/checkbox z etykietami i css, aby osiągnąć pożądane efekty rozwijania.