我試圖調用存儲在變量中的mailto:
URI。當我做window.location.href = mailto_link;
火狐給了我以下錯誤:如果值位於變量中,Firefox和IE將不會調用window.location.href
NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057
(NS_ERROR_ILLEGAL_VALUE) [nsIDOMLocation.href]
window.location.href = mailto_link;`
IE說什麼:
Object doesn't support this property or method
代碼工作在Chrome但不是在IE也不Firefox瀏覽器。
我原來的功能:
function email()
{
var nom = $('#nom').val();nom = encodeURIComponent(nom);
var compagnie = $('#compagnie').val();compagnie = encodeURIComponent(compagnie);
var rue = $('#rue').val();rue = encodeURIComponent(rue);
var ville = $('#ville').val();ville = encodeURIComponent(ville);
var province = $('#province').val();province = encodeURIComponent(province);
var cp = $('#cp').val();cp = encodeURIComponent(cp);
var remarques = $('#remarques').val();if(remarques ==""){remarques = "Aucune remarque.";}remarques = encodeURIComponent(remarques);
var quantite = $('#quantite').val();
var email= "[email protected]";
var subject= "Nouvelle commande";
var body_message= "%0D%0D%0D%0D"+nom+"%0D"+compagnie+"%0D"+rue+"%0D"+ville+", "+province+"%0D"+cp+"%0D%0D%0DRemarques:"+remarques+"%0D%0D Quantit%E9:"+quantite;
var mailto_link = 'mailto:'+email+'?subject='+subject+'&body='+body_message;
window.location.href = mailto_link;
}
更新1
我發現了什麼導致了問題的IE瀏覽器,雖然我還在尋找解決它爲Firefox。對於IE的問題是,我有一個console.log();
這將不會被識別(IE8和更低版本)。
這裏是MAILTO_LINK的內容的console.log()
:
mailto:[email protected]?subject=Nouvelle commande&body=Charger %0Dmodems des %CEseulement%0D%0D%0D%0Djshad%0Daskjda%0Daskdj%0Daskdj, askdj%0DJ9P%204A1%0D%0D%0DRemarques:asldk%0D%0D Quantit%E9:14
編輯:剛試過在Mac上,它適用於Firefox和Chrome。無法測試IE ...你確定變量中沒有東西嗎? – romo
您在IE中遇到什麼錯誤? –
「email」,「subject」和「body_message」變量的值究竟是什麼?你應該對這些值使用'encodeURIComponent()'。 – Pointy