Javascript 在google应用程序脚本中调用If..If Else..Else内的函数
我正在谷歌电子表格中做一个项目,使用一个脚本,它将触发工作表上的活动,如编辑/删除/换行等。。这些活动通过测量协议发送给Google Analytics 现在我有一个If…Else If…Else,它确定这是一个编辑、换行或删除的现有值 这是我的代码:Javascript 在google应用程序脚本中调用If..If Else..Else内的函数,javascript,if-statement,google-apps-script,google-analytics,google-sheets,Javascript,If Statement,Google Apps Script,Google Analytics,Google Sheets,我正在谷歌电子表格中做一个项目,使用一个脚本,它将触发工作表上的活动,如编辑/删除/换行等。。这些活动通过测量协议发送给Google Analytics 现在我有一个If…Else If…Else,它确定这是一个编辑、换行或删除的现有值 这是我的代码: //回答后更新了代码,但仍然不起作用 var GoogleAnalyticsEDIT; var GoogleAnalyticsSLETT; var GoogleAnalyticsREDIGER; // MP // EDIT SEND
//回答后更新了代码,但仍然不起作用
var GoogleAnalyticsEDIT;
var GoogleAnalyticsSLETT;
var GoogleAnalyticsREDIGER;
// MP
// EDIT SEND
GoogleAnalyticsEDIT = function GoogleAnalyticsEDIT(tid){
var data = { 'v': '1',
't' : 'event',
'tid': tid, // TrackingID Google Analytics
'cid': Session.getTemporaryActiveUserKey(),
'ec': 'SpreadSheet', // Event Kategori.
'ea': 'nyVerdi-'+noLetter, // Event Hendelse(action)
'el': SpreadsheetApp.getActiveSpreadsheet().getName(),
'ev': '300' }; // test og fjern <----- TEST OG FJERN
var payload = Object.keys(data).map(function(key) {
return encodeURIComponent(key) + '=' + encodeURIComponent(data[key]);
}).join('&');
var options = {'method' : 'POST',
'payload' : payload };
UrlFetchApp.fetch('http://www.google-analytics.com/collect', options);
}
//MP
// SLETT SEND
GoogleAnalyticsSLETT = function GoogleAnalyticsSLETT(tid){
var data = { 'v': '1',
't' : 'event',
'tid': tid, // TrackingID Google Analytics
'cid': Session.getTemporaryActiveUserKey(),
'ec': 'SpreadSheet', // Event Kategori.
'ea': 'slettVerdi-'+noLetter, // Event Hendelse(action)
'el': SpreadsheetApp.getActiveSpreadsheet().getName(),
'ev': '300' }; // test og fjern <----- TEST OG FJERN
var payload = Object.keys(data).map(function(key) {
return encodeURIComponent(key) + '=' + encodeURIComponent(data[key]);
}).join('&');
var options = {'method' : 'POST',
'payload' : payload };
UrlFetchApp.fetch('http://www.google-analytics.com/collect', options);
}
// MP
// REDIGER SEND
GoogleAnalyticsREDIGER = function GoogleAnalyticsREDIGER(tid){
var data = { 'v': '1',
't' : 'event',
'tid': tid, // TrackingID Google Analytics
'cid': Session.getTemporaryActiveUserKey(),
'ec': 'SpreadSheet', // Event Kategori.
'ea': 'redigerVerdi-'+noLetter, // Event Hendelse(action)
'el': SpreadsheetApp.getActiveSpreadsheet().getName(),
}; // test og fjern <----- TEST OG FJERN
var payload = Object.keys(data).map(function(key) {
return encodeURIComponent(key) + '=' + encodeURIComponent(data[key]);
}).join('&');
var options = {'method' : 'POST',
'payload' : payload };
UrlFetchApp.fetch('http://www.google-analytics.com/collect', options);
}
//FUNKSJON ---- DEBUG
var newValue = (typeof e.value == "object" ? e.range.getValue() : e.value);
var oldValue = (typeof e.oldValue == "object" ? e.range.getValue() : e.oldValue);
if (!e.oldValue ) {
Browser.msgBox("GA: newValue (NY LINJE)");
GoogleAnalyticsEDIT("UA-101502909-2");
}
else if (e.value.hasOwnProperty("oldValue")) {
GoogleAnalyticsSLETT("UA-101502909-2");
}
else {
Browser.msgBox("GA: ChangeValue (REDIGERT VERDI)");
GoogleAnalyticsREDIGER("UA-101502909-2")
}
} //slutt: MyOnEditNeW();
var-GoogleAnalyticsEDIT;
var-GoogleAnalyticsSLETT;
var-GoogleAnalyticsREDIGER;
//议员
//编辑发送
GoogleAnalyticsEDIT=函数GoogleAnalyticsEDIT(tid){
变量数据={v':'1',
“t”:“事件”,
“tid”:tid,//TrackingID谷歌分析
“cid”:会话。getTemporaryActiveUserKey(),
'ec':'电子表格',//事件Kategori。
'ea':'nyVerdi-'+noLetter,//事件Hendelse(操作)
“el”:SpreadsheetApp.getActiveSpreadsheet().getName(),
'ev':'300'};//test og fjern如果(e.value.hasOwnProperty(“oldValue”)
改成这个,我可能会把它改成:else
else if(如oldvalue)
尝试此方法时未按预期工作。添加新值时,键的字符串中包含oldValue。因此,如果值中没有任何内容,则条件为Elsey您实际保存了我。这就是问题所在。在else if语句上将其更改为e.oldValue&&e.value,此时它可以工作。您不应使用Browser.msgBox()
用于调试。使用Logger.log('variableName:'+variableName)
运行代码,然后查看日志。此外,执行记录的状态是什么?哪行代码失败。我们不想知道行号。我们不知道代码的行号。