如何在Netsuite中使用jQuery?

时间:2015-09-11 12:11:38

标签: jquery netsuite

我正在使用netsuite。我想在netsuite中使用jquery。请帮忙。

2 个答案:

答案 0 :(得分:9)

你根本不需要做任何事情;默认情况下,jQuery包含在所有NetSuite页面中。您可以在任何客户端脚本中访问它;它不适用于服务器端脚本。请注意,您必须使用jQuery而不是$来引用它,例如

jQuery('#myElementId').hide()

答案 1 :(得分:2)

根据我的发现,Netsuite到目前为止还没有提供任何直接的方法(API)来在SuiteScripts中实现jQuery。所以,你需要按照欺骗性的方式在你的Netsuite屏幕上完成jQuery的工作。

在这篇提示中,我将展示如何在Netsuite屏幕中使用'jAlert',让我们看看它是怎么回事: -

1)在这个例子中我们需要3个文件: -     -jquery.min.js     -jquery.alert.js     -jquery.alert.css 您可以在Netsuite帐户(文件柜)中托管这些文件,也可以使用任何CDN进行参考。

2)创建一个客户端脚本.js文件,其功能将在“Page Init”函数中调用。在此函数中,您可以编写代码将上述3个文件添加到Netsuite页面的HTML DOM中。

function OnPageInit() 
{ 
    AddJavascript('http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js', 'head'); 
    var t = setTimeout("AddJavascript('https://system.netsuite.com/core/media/media.nl?id=253&c=TSTDRV896291&h=c3fc87f394f396552e09&_xt=.js', 'body')", 3000); 
    AddStyle('https://system.netsuite.com/core/media/media.nl?id=254&c=TSTDRV896291&h=50d488b82c3c3ed7263c&_xt=.css', 'head'); 
} 

function AddJavascript(jsname, pos) 
{ 
    var tag = document.getElementsByTagName(pos)[0]; 
    var addScript = document.createElement('script'); 
    addScript.setAttribute('type', 'text/javascript'); 
    addScript.setAttribute('src', jsname); 
    tag.appendChild(addScript); 
} 

function AddStyle(cssLink, pos) 
{ 
    var tag = document.getElementsByTagName(pos)[0]; 
    var addLink = document.createElement('link'); 
    addLink.setAttribute('type', 'text/css'); 
    addLink.setAttribute('rel', 'stylesheet'); 
    addLink.setAttribute('href', cssLink); 
    tag.appendChild(addLink); 
}

在'OnPageInit'函数中,我们首先添加'jquery.min.js'(谷歌CDN),然后我们使用'setTimeout'方法在添加第二个脚本之前的几秒钟内做一段时间。这是因为,当页面加载时,它将首先下载'jquery.min.js'脚本可能需要一些时间,因此当第二个脚本'jquery.alert.js'被加载时可能显示'jquery undefined'错误。为了避免这种情况,我们可以使用'setTimeout'来延迟在页面的DOM中添加'jquery.alert.js'脚本。之后,CSS也被添加到它。在这段代码中,我们在Netsuite的'File Cabinet'文件夹中托管了'jquery.alert.js'和'jquery.alert.css'。

3)现在部署客户端脚本。假设您已将其部署为“客户”记录。现在,我们可以测试'jAlert'是否适用于客户记录屏幕。

4)假设您编写了一个客户端脚本函数,该函数将在“客户”屏幕的“保存记录”事件中调用。

function OnSaveRecord() 
{ 
    jAlert('Custom Alert Box Test', 'This is a jAlert Box!'); 
}

5)现在在“客户”屏幕中测试“Page Init”和“Save Record”功能是否正常工作。

如果您在Netsuite的SuiteScripts中有其他一些使用jQuery的技巧,那么请在下面提到。