2013-04-25 70 views
0

我試圖通過電子郵件發送一個表,該列將在單擊該列時根據列進行排序。我發現http://tablesorter.com/docs/,它看起來非常直截了當。作爲HTML郵件發送時,Tablesorter不工作

我正在使用python來編寫html。 有問題的功能是

def getOpportunitiesTable(opps): #formats html table for email 

它發生在字典的一個列表,應該返回HTML

html = "" 
html += "<head>" 
html += '<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>' 
html += '<script type="text/javascript" src="http://mottie.github.com/tablesorter/js/jquery.tablesorter.js"></script>' 
html += "</head>" 
html += '<table id="opportunities" class="tablesorter">' 
html += '<thead><tr><th>Opportunity Name</th><th>Forcasted Close Date</th><th>Pipeline Category</th><th>Stage</th><th>Priority</th></tr></thead>' 

html += '<tbody>' 
for o in iter(opps): 
    html += "<tr>" 
    #opportunity name linked to insightly's page 

    html += "<td>" + '<a href="https://googleapps.insight.ly/Opportunities/Details/' + str(o['OPPORTUNITY_ID']) + '">' 
    try: 
     html += o['OPPORTUNITY_NAME'].encode('utf-8') 
    except: 
     html += '************************' 
     logging.info(str(o)) 
    html += "</a>" + "</td>" 
    html += "<td>" 
    if 'FORECAST_CLOSE_DATE' in o and o["FORECAST_CLOSE_DATE"] != None: #if fclose date provided format it 
     html += datetime.strptime(o["FORECAST_CLOSE_DATE"], '%Y-%m-%d %H:%M:%S').strftime('%Y-%m-%d') 
    else: 
     html += ' - ' 
    html += "</td>" 

    html += "<td>" + pipelineCategory[o['PIPELINE_ID']] if o['PIPELINE_ID'] in pipelineCategory else ' - ' + "</td>" 
    html += "<td>" + stageName[o['STAGE_ID']] if o['STAGE_ID'] in stageName else ' - ' + "</td>" 
    html += "<td>" + str(o["OPPORTUNITY_FIELD_5"]) + "</td>" 
    html += "</tr>" 

html += '</tbody>' 
html += "</table><br/>" 

return html 

我的困惑帶有這兩條線

html += '<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>' 
html += '<script type="text/javascript" src="http://mottie.github.com/tablesorter/js/jquery.tablesorter.js"></script>' 

而且內在的問題我應該被允許發送一個HTML電子郵件來操縱發送的表格嗎?

任何幫助表示讚賞!

+0

你想發送一個HTML電子郵件與JavaScript元素?因爲那不行。 – samanthasquared 2013-04-25 20:56:16

回答

1

在HTML電子郵件中不可能使用Javascript,因爲這會帶來很大的安全風險。大多數郵件客戶端將被刪除或簡單地忽略HTML郵件中的任何腳本。

此外,遠程腳本的加載可能會被許多客戶端阻止爲遠程內容,並且需要用戶手動加載遠程內容。但即使他們允許這樣做,它仍然不允許在電子郵件中運行腳本。

最好的辦法是將HTML作爲一個附件,然後可以打開(風險自負),或將HTML保存在服務器的某個地方並鏈接到它。