현재 웹 페이지 "location.ref"의 URL을 잡고 Google 스프레드 시트에 저장하는 간단한 북마크릿을 만들고 싶습니다. 저장 한 후에 현재 웹 페이지에 머물고 싶습니다.Google 스프레드 시트에 URL을 저장하는 북마크
Google 스프레드 시트에 글쓰기를하는 유일한 방법은 Google App Script를 사용하는 것입니다. 그래서 나는 단지 그것을 수행하는 간단한 스크립트를 작성했습니다 :
function doGet(request) {
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheet/ccc?key=<MY-SPREADSHEET-ID>");
var sheet = ss.getSheets()[0];
var headers = ["Timestamp", "url"];
var nextRow = sheet.getLastRow();
var cell = sheet.getRange('a1');
var col = 0;
for (i in headers){
if (headers[i] == "Timestamp"){
val = new Date();
} else {
val = request.parameter[headers[i]];
}
cell.offset(nextRow, col).setValue(val);
col++;
}
return ContentService.createTextOutput(request.parameter.url)
.setMimeType(ContentService.MimeType.TEXT);
}
웹 애플리케이션으로 게시했습니다. 북마크 렛을 작성했습니다 :
<a href="javascript:(
function(){
alert(window.open('https://script.google.com/macros/s/<MYWEBAPP>/exec?url='+encodeURIComponent(location.href), '_self'));
}
)();">
BOOKMARK
</a>
지금까지 그렇게 좋았습니다. 북마크를 클릭하면 실제로 작동하며 현재 웹 페이지의 URL을 가져 와서 내 스프레드 시트에 저장합니다. 그런 다음 webapp이 텍스트 응답을 반환하고 북마크에 텍스트가 표시되어 현재 웹 사이트를 벗어나게됩니다.
응답을 무시할 수있는 방법이 있습니까? GAS webapp 스크립트에서는 doGet()을 사용하여 반환해야합니다. GAS 스크립트에서 아무것도 반환하지 않는 방법이 있습니까? 또는 다른 호출을 사용하여 window.open을 대체하여 webapp을 호출하여 변수의 응답을 저장하고 무시할 수있는 방법이 있습니까?
북마크릿으로 팝업을 생성하는 방법은 무엇입니까? 그렇게하면 기본 페이지에서 벗어날 수 없습니다. –