我們用suitlet創建的默認窗體很醜,我想對其進行設計,但是我沒有找到任何方式來設置其默認樣式表。我使用內聯html來做到這一點,但閃爍。我們能否使用內聯html創建完整的表單,而不使用默認值?有沒有一種方法可以在沒有登錄Netsuite的情況下提供可用的Suitelet表單?
1
A
回答
1
如果您試圖破解nlobjform
的NetSuite樣式表,這可能不是理想的,因爲NetSuite可以隨時更改該樣式表,因爲它可能取決於NetSuite的默認DOM。
如果您想要自己的完整樣式,您可以在嵌入式HTML中嵌入iframe,然後使用自己的樣式表完全設置頁面樣式。
如果您不希望NetSuite標題和菜單選項也出現,那麼我建議您在response
對象中返回完整的HTML和樣式表標籤。
response.setContentType('HTMLDOC');
response.write(HTML_AS_STRING);
3
正如prasun指出的那樣,您可以從Suitelet返回想要的任何原始HTML,包括您自己的完整CSS。我們通常會將HTML和CSS文件放在文件櫃中,並在需要動態信息的位置放置特殊標籤來處理此問題。 Suitelet然後簡單地加載這些文件,相應地替換標籤,並返回完整的HTML。簡單的例子可能是這個樣子:
文件櫃/ SuiteScripts /我的項目/ myHtml.html:
<!DOCTYPE html>
<html>
<head>
<title>My Suitelet Report</title>
<!-- This tag will be replaced with the CSS file; unfortunately, NetSuite does
not apply the styles if they are included with a link tag -->
<style>NL_CSS</style>
</head>
<body>
<p id="data-desc"><span id="data-month">NL_MONTH</span> <span id="data-year">NL_YEAR</span></p>
</body>
</html>
文件櫃/ SuiteScripts /我的項目/ myStyles.css:
body {
font-size: 1em;
font-family: "Lucida Grande", Verdana, Arial, sans-serif;
margin: 1em 1.5em;
}
p#data-desc {
font-size: 0.85em;
font-weight: bold;
margin: 1em 0;
}
文件櫃/ SuiteScripts /我的項目/ mySuitelet.js:
function onRequest(request, response) {
// Load the HTML content
var html = nlapiLoadFile('SuiteScripts/my-project/myHtml.html').getValue();
// Current date
var now = moment();
// Replace the month and year tags with real values
html = html.replace(/NL_MONTH/, moment.months()[now.month()]);
html = html.replace(/NL_YEAR/, now.year());
// Load the CSS file to obtain its URL
file = nlapiLoadFile('SuiteScripts/my-project/myStyles.css');
// Replace the NL tag with the CSS contents
html = html.replace(/NL_CSS/, file.getValue());
response.write(html);
}
相關問題
- 1. 有沒有一種方法可以讓WiX在每種情況下抑制ICE
- 2. 有沒有一種方法可以在沒有構建應用程序的情況下練習單元測試?
- 3. 有了SubSonic,有沒有一種方法可以在沒有外鍵的情況下表達關係?
- 4. 有沒有方法可以在沒有GraphQL的情況下使用Relay?
- 5. ScalaTest in sbt:有沒有一種方法可以在沒有標籤的情況下運行單個測試?
- 6. 我可以在沒有登錄的情況下運行tfs嗎?
- 7. 有沒有一種方法可以在沒有onclick事件的情況下使用onclick?
- 8. 有沒有一種方法可以告訴DataReader是否在沒有調用.Read()的情況下迭代了?
- 9. 有沒有一種方法可以讓表單在不使用iFrame的情況下位於頂層
- 10. 有沒有一種方法可以在使用swift的alertview中提供驗證?
- 11. 有沒有一種方法可以在沒有iframe覆蓋的情況下在Silverlight中顯示HTML?
- 12. DynamoDB:有沒有一種方法可以在沒有LastEvaluatedKey的情況下獲取任意頁面?
- 13. 有沒有一種方法可以在沒有_id字段的情況下從MongoDB中檢索數據?
- 14. Git-Stash:有沒有一種方法可以防止合併功能在沒有rebase的情況下發展?
- 15. 有沒有一種方法可以在沒有網絡服務器的情況下發送php post請求?
- 16. 有沒有一種方法可以在沒有持續推送通知的情況下顯示倒計時?
- 17. 有沒有一種方法可以在沒有Composer的情況下自動加載ZF3?
- 18. 頁面可以在沒有登錄驗證的情況下登錄
- 19. 有沒有一種方法可以在不使用AJAX的情況下提交POST?
- 20. 我們可以在沒有用戶登錄的情況下將驗證提供商鏈接到Android版的Firebase:
- 21. 有沒有一種方法可以在Django中爲內聯管理員表單提供單獨的頁面?
- 22. 有沒有一種方法可以在不使用中間件的情況下使用scrapy的代理?
- 23. 我是否可以在沒有Ruby的情況下以某種方式使用REST API os登錄Cloud Foundry V2?
- 24. 可以在沒有列表的情況下使用LOAD TABLE嗎?
- 25. 可以在沒有連接表的情況下使用accep_nested_attributes_?
- 26. 我可以在沒有用戶登錄的情況下製作網站嗎
- 27. 在沒有登錄的情況下提供'default'用戶而不是AnonymousUser
- 28. 是否可以在沒有成員資格提供者的情況下使用登錄狀態控制?
- 29. 有沒有一種方法可以在不使用flex的情況下在flash中嵌入自定義字體
- 30. 是否可以在沒有提交按鈕的情況下驗證表單?
我可以用我自己的形式嗎?而不是在上面的例子中使用netsuite。你能舉個例子嗎? –
'response.setContentType('HTMLDOC'); response.write(HTML_AS_STRING);'使用您的表單HTML字符串值作爲'HTML_AS_STRING' – prasun