簡體   English   中英

在新窗口中打開 URL 的 HTML 按鈕

[英]HTML button to open URL in a new window

我正在填充電子郵件模板,但按鈕 onclick 事件出現了一些問題。

我想要實現的是當單擊按鈕時,它應該在新窗口而不是新選項卡中打開一個 URL。

目前,當電子郵件被發送時,它正在失去 onclick 事件功能。 關於如何實現這一目標的任何建議?

我還嘗試在 html 模板中創建按鈕,而不是將標簽替換為下面的代碼,但仍然遇到相同的問題。

HTML代碼:

    <p>
        Hi,
    </p>
    <p>
        A [JobType], to start on [JobStartDate]
        <br />
        Click here to view the job: [JobUrl]
    </p>
    <p>
        <b>Job Details:</b>
        <br />
        - Reference: [JobReferenceNumber]
        <br />
        - Checklist: [AnswerEvaluationName]
        <br />
        - Created by: [JobCreator]
        <br />
    </p>
    <p>
        Kind regards<br />
    </p>
    <p class="auto-style6">
        Please do not reply to this system generated email
    </p>
</body>
public void CreateEmailNotificationForNewJob()
{
   // Populate the Email Template
   string EmailRecipientTestingNotes = "";
   string EmailSubject = "";
   string EmailTemplate = EmailSender.LoadEmailTemplate("EmailNewJob.html");
   string EmailTo = "";
   string TestButton = ("<input type=\"button\" onclick=\"window.open('https://www.google.com/','mywin','width=500,height=500');\" >");

   EmailSubject = "Job/task ";
   EmailTemplate = EmailTemplate.Replace("[JobReferenceNumber]", "Reference");
   EmailTemplate = EmailTemplate.Replace("[AnswerEvaluationName]", "Daily Update");
   EmailTemplate = EmailTemplate.Replace("[JobStartDate]", "Today");
   EmailTemplate = EmailTemplate.Replace("[JobType]", "1");
   EmailTemplate = EmailTemplate.Replace("[CompanySiteName]", "");
   EmailTemplate = EmailTemplate.Replace("[SiteName]", "");
   EmailTemplate = EmailTemplate.Replace("[JobUrl]", TestButton);

   EmailTo = "test@test.co.za";

   try
   {
      // Send email code
   }
   catch (Exception ex)
   {
      // Add handling
   }
}

大多數電子郵件客戶端不允許像瀏覽器那樣執行 JavaScript(通常這是出於安全原因)。

但是,如果您想創建指向要在電子郵件中顯示的 URL 的鏈接,您可以只使用超鏈接而不是按鈕。 (當然,如果您願意,您當然可以始終使用 CSS 使其看起來像一個按鈕。)

string TestButton = ("<a href='https://www.google.com/'>Click here</a>");

電子郵件客戶端不接受 JavaScript。 您能做的最好的事情是使用目標屬性設置為 _blank 的標准鏈接:

string TestButton = ("<a href='www.blah.com' target='_blank'>link text</a>");

話雖如此,大多數電子郵件客戶端無論如何都會在新/空白選項卡中打開。 但是,這對於使用單擊“在瀏覽器中查看此電子郵件”的用戶仍然很有幫助(例如,在 Outlook 桌面上,這是自動生成的)。

只需使用超鏈接而不是按鈕,因為電子郵件客戶端不接受 JavaScript。 當然你可以使用css讓它看起來像一個按鈕。

按鈕:

string TestButton = ("<a class='button' href='https://www.google.com/'>Click here</a>");

css:

.button {
font: bold 11px Arial;
text-decoration: none;
background-color: #EEEEEE;
color: #333333;
padding: 2px 6px 2px 6px;
border-top: 1px solid #CCCCCC;
border-right: 1px solid #333333;
border-bottom: 1px solid #333333;
border-left: 1px solid #CCCCCC;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM