{"id":1617,"date":"2025-03-20T12:11:54","date_gmt":"2025-03-20T12:11:54","guid":{"rendered":"https:\/\/annaoleks24.thkit.ee\/wp\/?page_id=1617"},"modified":"2025-03-21T19:50:57","modified_gmt":"2025-03-21T19:50:57","slug":"rabota-s-triggerom-onedit","status":"publish","type":"page","link":"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/","title":{"rendered":"Triggeri toiming onEdit"},"content":{"rendered":"\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong>Enne:<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\/\/ \u0424\u0443\u043d\u043a\u0446\u0438\u044f onOpen() \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\n\/\/ https:\/\/developers.google.com\/apps-script\/guides\/triggers\/#onopen\nfunction onOpen() {\n \n  \/\/ \u0421\u043e\u0437\u0434\u0430\u0451\u043c \u043d\u043e\u0432\u043e\u0435 \u043c\u0435\u043d\u044e\n  \/\/ https:\/\/developers.google.com\/apps-script\/reference\/base\/ui#createmenucaption\n  SpreadsheetApp.getUi()\n      .createMenu(&#039;Custom Menu&#039;)\n      .addItem(&#039;Show alert&#039;, &#039;showAlert&#039;)\n      .addItem(&#039;Show prompt&#039;, &#039;showPrompt&#039;)\n      .addToUi();\n}\n \nfunction showAlert() {\n  var ui = SpreadsheetApp.getUi();\n \n  \/\/ https:\/\/developers.google.com\/apps-script\/reference\/base\/ui#alerttitle-prompt-buttons\n  var result = ui.alert(\n     &#039;\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435&#039;, \/\/ \u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043e\u043a\u043d\u0430\n     &#039;\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c?&#039;, \/\/ \u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\n      ui.ButtonSet.YES_NO \/\/ \u041a\u043d\u043e\u043f\u043a\u0438\n  );\n \n  if (result == ui.Button.YES) { \/\/ \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0430\u0436\u0430\u043b \u043d\u0430 &quot;\u0414\u0430&quot;\n    \/\/ User clicked &quot;Yes&quot;.\n    ui.alert(&#039;\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e.&#039;);\n  } else { \/\/ \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0430\u0436\u0430\u043b \u043d\u0430 &quot;\u041d\u0435\u0442&quot; \u0438\u043b\u0438 \u043d\u0430 X (\u0437\u0430\u043a\u0440\u044b\u043b \u043e\u043a\u043d\u043e)\n    ui.alert(&#039;\u0412 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u043e\u0442\u043a\u0430\u0437\u0430\u043d\u043e.&#039;);\n  }\n}\n \nfunction showPrompt() {\n  var ui = SpreadsheetApp.getUi();\n \n  \/\/ https:\/\/developers.google.com\/apps-script\/reference\/base\/ui#prompttitle-prompt-buttons\n  var result = ui.prompt(\n      &#039;\u0421\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u043e \u0441\u0435\u0431\u0435!&#039;, \/\/ \u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a\n      &#039;\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0432\u043e\u0451 \u0438\u043c\u044f:&#039;, \/\/ \u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\n      ui.ButtonSet.OK_CANCEL \/\/ \u041a\u043d\u043e\u043f\u043a\u0438\n  );\n \n  var button = result.getSelectedButton(); \/\/ \u041a\u043d\u043e\u043f\u043a\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043d\u0430\u0436\u0430\u043b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\n  var text = result.getResponseText(); \/\/ \u0422\u0435\u043a\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0432\u0451\u043b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\n \n  if (button == ui.Button.OK) {\n    ui.alert(&#039;\u0412\u0430\u0448\u0435 \u0438\u043c\u044f: &#039; + text + &#039;.&#039;);\n  } else if (button == ui.Button.CANCEL) {\n    ui.alert(&#039;\u0412\u044b \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u0441\u0432\u043e\u0451 \u0438\u043c\u044f.&#039;);\n  } else if (button == ui.Button.CLOSE) {\n    ui.alert(&#039;\u0412\u044b \u0437\u0430\u043a\u0440\u044b\u043b\u0438 \u043e\u043a\u043d\u043e.&#039;);\n  }\n}\n<\/pre><\/div>\n\n\n<p><strong>Tulemus:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"536\" height=\"147\" src=\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-23.png\" alt=\"\" class=\"wp-image-1618\" srcset=\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-23.png 536w, https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-23-300x82.png 300w, https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-23-150x41.png 150w\" sizes=\"(max-width: 536px) 100vw, 536px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong>P\u00e4rast:<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\/\/ \u0424\u0443\u043d\u043a\u0446\u0438\u044f onEdit \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u0432\u0432\u043e\u0434\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u044f\u0447\u0435\u0439\u043a\u0443 \u0422\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c\n\/\/ https:\/\/developers.google.com\/apps-script\/guides\/triggers\/#onedite\nfunction onEdit(e) {\n  Logger.log(e);\n \n  \/\/ \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u044f\u0447\u0435\u0435\u043a, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\n  \/\/ https:\/\/developers.google.com\/apps-script\/reference\/spreadsheet\/range\n  var range = e.range;\n \n  \/\/ \u041b\u0438\u0441\u0442, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\n  \/\/ https:\/\/developers.google.com\/apps-script\/reference\/spreadsheet\/sheet\n  var sheet = range.getSheet();\n \n  \/\/ \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u043d\u0443\u0436\u043d\u044b\u0439 \u043b\u0438 \u044d\u0442\u043e \u043d\u0430\u043c \u043b\u0438\u0441\u0442\n  Logger.log(sheet.getName());\n  if (sheet.getName() != &#039;\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0442\u0435\u043a\u0441\u0442\u0430&#039;) {\n    return false;\n  }\n \n  \/\/ \u041f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0442\u0435\u043a\u0441\u0442, \u0432\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043a\u043e\u043b\u043e\u043d\u043a\u0443.\n  \/\/ \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0443\u044e \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430\n  Logger.log(range.getColumn());\n  if  (range.getColumn() != 1) {\n    return false;\n  }\n \n  for (var i = 1; i &amp;lt;= range.getNumRows(); i++) {\n    var cell = range.getCell(\n      i, \/\/ \u043d\u043e\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438\n      1 \/\/ \u043d\u043e\u043c\u0435\u0440 \u043a\u043e\u043b\u043e\u043d\u043a\u0438\n    );\n \n    \/\/ \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c\n    var russianText = cell.getValue();\n \n    \/\/ \u041f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439\n    \/\/ https:\/\/developers.google.com\/apps-script\/reference\/language\/language-app\n    \/\/ https:\/\/cloud.google.com\/translate\/docs\/languages\n    var translatedText = LanguageApp.translate(\n      russianText, \/\/ \u0442\u0435\u043a\u0441\u0442\n      &#039;ru&#039;, \/\/ \u0441 \u043a\u0430\u043a\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c\n      &#039;en&#039; \/\/ \u043d\u0430 \u043a\u0430\u043a\u043e\u0439 \u044f\u0437\u044b\u043a \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c\n    );\n\n    let translatedText2 = LanguageApp.translate(\n      russianText, \/\/ \u0442\u0435\u043a\u0441\u0442\n      &#039;ru&#039;, \/\/ \u0441 \u043a\u0430\u043a\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c\n      &#039;et&#039; \/\/ \u043d\u0430 \u043a\u0430\u043a\u043e\u0439 \u044f\u0437\u044b\u043a \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c\n    );\n\n    let translatedText3 = LanguageApp.translate(\n      russianText, \/\/ \u0442\u0435\u043a\u0441\u0442\n      &#039;ru&#039;, \/\/ \u0441 \u043a\u0430\u043a\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c\n      &#039;fr&#039; \/\/ \u043d\u0430 \u043a\u0430\u043a\u043e\u0439 \u044f\u0437\u044b\u043a \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c\n    );\n \n    \/\/ \u0412\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0432\u043e \u0432\u0442\u043e\u0440\u0443\u044e \u043a\u043e\u043b\u043e\u043d\u043a\u0443\n    sheet.getRange(\n      cell.getRowIndex(), \/\/ \u043d\u043e\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438\n      2 \/\/ \u043d\u043e\u043c\u0435\u0440 \u0441\u0442\u043e\u043b\u0431\u0446\u0430\n    ).setValue(translatedText);\n\n    sheet.getRange(\n      cell.getRowIndex(), \/\/ \u043d\u043e\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438\n      3 \/\/ \u043d\u043e\u043c\u0435\u0440 \u0441\u0442\u043e\u043b\u0431\u0446\u0430\n    ).setValue(translatedText2);\n\n    sheet.getRange(\n      cell.getRowIndex(), \/\/ \u043d\u043e\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438\n      4 \/\/ \u043d\u043e\u043c\u0435\u0440 \u0441\u0442\u043e\u043b\u0431\u0446\u0430\n    ).setValue(translatedText3);\n  }\n<\/pre><\/div>\n\n\n<p><strong>Tulemus:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"537\" height=\"156\" src=\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-24.png\" alt=\"\" class=\"wp-image-1619\" srcset=\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-24.png 537w, https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-24-300x87.png 300w, https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-24-150x44.png 150w\" sizes=\"(max-width: 537px) 100vw, 537px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong>Enne:<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nfunction parser() {\n  var ss = SpreadsheetApp.getActiveSpreadsheet();\n  var sheet = ss.getSheetByName(&#039;list&#039;);\n  var values = sheet.getDataRange().getValues();\n \n  var insertError = function(msg, numRow) {\n    sheet.getRange(numRow, 2).setValue(&#039;\u041e\u0428\u0418\u0411\u041a\u0410! &#039; + msg).setBackground(&#039;red&#039;);\n  }\n \n  var rowNumStart = 1; \/\/ \u041d\u043e\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u043f\u0430\u0440\u0441\u0438\u043d\u0433\n \n  for (var i = rowNumStart; i &amp;lt; values.length; i++) {\n \n    var url = values&#x5B;i]&#x5B;0];\n \n    try {\n \n      var response = UrlFetchApp.fetch(url, {\n      &#039;muteHttpExceptions&#039;: true,\n      &#039;validateHttpsCertificates&#039;: false,\n      &#039;followRedirects&#039;: true,\n    }); \/\/ \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u043f\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c\u0443 url\n \n    } catch(e) {\n      insertError(e, i+1);\n      continue;\n    }\n \n \n    \/\/ https:\/\/developers.google.com\/apps-script\/reference\/url-fetch\/http-response\n    var responseCode = response.getResponseCode(); \/\/ \u041a\u043e\u0434 \u043e\u0442\u0432\u0435\u0442\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\n \n    if (responseCode === 200) {\n \n      try {\n        var headers = response.getHeaders();\n        var charset = headers&#x5B;&#039;Content-Type&#039;].match(\/charset=(.*)$\/)&#x5B;1].replace(\/&#x5B;&quot;;]+\/gi, &#039;&#039;); \/\/ \u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b\n      } catch (e) {\n        var contentForCharset = response.getContentText();\n        var charsetMatch = contentForCharset.match(\/charset=(.*?)&quot;\/);\n        var charset = (charsetMatch !== null) ? charsetMatch&#x5B;1] : &quot;UTF-8&quot;;\n      }\n \n      var content = response.getContentText(charset); \/\/ \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c html \u043a\u043e\u0434 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b\n \n      \/\/ \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u0430\n      var titleMatch = content.match(\/&amp;lt;title&#x5B;^&gt;]*&gt;\\s*(&#x5B;\\s\\S]*?)\\s*&amp;lt;\/);\n \nif (titleMatch !== null) {\nvar title = titleMatch&#x5B;1];\n \n\/\/ \u0412\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443\nsheet.getRange(i+1,2).setValue(title);\n \n} else {\ninsertError(&#039;\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u0441\u043f\u0430\u0440\u0441\u0438\u0442\u044c title.&#039;, i+1);\n}\n \n} else {\ninsertError(&#039;\u041a\u043e\u0434 \u043e\u0442\u0432\u0435\u0442\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 != 200.&#039;, i+1);\n}\n \n}\n \n}\n<\/pre><\/div>\n\n\n<p><strong>Tulemus:<\/strong><\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69db3377f40e9&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69db3377f40e9\" class=\"wp-block-image size-full wp-lightbox-container\"><img decoding=\"async\" width=\"731\" height=\"559\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/screenshot-2025-03-20-161657.png\" alt=\"\" class=\"wp-image-1623\" srcset=\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/screenshot-2025-03-20-161657.png 731w, https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/screenshot-2025-03-20-161657-300x229.png 300w, https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/screenshot-2025-03-20-161657-150x115.png 150w, https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/screenshot-2025-03-20-161657-600x459.png 600w\" sizes=\"(max-width: 731px) 100vw, 731px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong>P\u00e4rast:<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nfunction parser() {\n  let ss = SpreadsheetApp.getActiveSpreadsheet();\n  let sheet = ss.getSheetByName(&#039;list&#039;);\n  let values = sheet.getDataRange().getValues();\n \n  let insertError = function(msg, numRow, col) {\n    sheet.getRange(numRow, col).setValue(&#039;\u041e\u0428\u0418\u0411\u041a\u0410! &#039; + msg).setBackground(&#039;red&#039;);\n  }\n \n  let rowNumStart = 1; \/\/ \u041d\u043e\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u043f\u0430\u0440\u0441\u0438\u043d\u0433\n \n  for (let i = rowNumStart; i &amp;lt; values.length; i++) {\n \n    let url = values&#x5B;i]&#x5B;0];\n \n    try {\n \n      var response = UrlFetchApp.fetch(url, {\n      &#039;muteHttpExceptions&#039;: true,\n      &#039;validateHttpsCertificates&#039;: false,\n      &#039;followRedirects&#039;: true,\n    }); \/\/ \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u043f\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c\u0443 url\n \n    } catch(e) {\n      insertError(e, i+1);\n      continue;\n    }\n \n \n    \/\/ https:\/\/developers.google.com\/apps-script\/reference\/url-fetch\/http-response\n    let responseCode = response.getResponseCode(); \/\/ \u041a\u043e\u0434 \u043e\u0442\u0432\u0435\u0442\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\n \n    if (responseCode === 200) {\n \n      try {\n        let headers = response.getHeaders();\n        var charset = headers&#x5B;&#039;Content-Type&#039;].match(\/charset=(.*)$\/)&#x5B;1].replace(\/&#x5B;&quot;;]+\/gi, &#039;&#039;); \/\/ \u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b\n      } catch (e) {\n        let contentForCharset = response.getContentText();\n        let charsetMatch = contentForCharset.match(\/charset=(.*?)&quot;\/);\n        var charset = (charsetMatch !== null) ? charsetMatch&#x5B;1] : &quot;UTF-8&quot;;\n      }\n \n      let content = response.getContentText(charset); \/\/ \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c html \u043a\u043e\u0434 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b\n \n      \/\/ \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u0430\n      let titleMatch = content.match(\/&amp;lt;title&#x5B;^&gt;]*&gt;\\s*(&#x5B;\\s\\S]*?)\\s*&amp;lt;\/);\n \nif (titleMatch !== null) {\nlet title = titleMatch&#x5B;1];\n \n\/\/ \u0412\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443\nsheet.getRange(i+1,2).setValue(title);\n \n} else {\ninsertError(&#039;\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u0441\u043f\u0430\u0440\u0441\u0438\u0442\u044c title.&#039;, i+1, 2);\n}\n\/\/ \u0412\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u043d\u0442 \u0432 \u0442\u0440\u0435\u0442\u044c\u044e \u043a\u043e\u043b\u043e\u043d\u043a\u0443\nlet sisuMatch = content.match(\/&amp;lt;main&#x5B;^&gt;]*&gt;(&#x5B;\\s\\S]*?)&amp;lt;\\\/main&gt;\/i) \nif (sisuMatch !==null) {\n  let sisu = sisuMatch&#x5B;1].replace(\/&amp;lt;&#x5B;^&gt;]*&gt;\/g, &#039;&#039;) \/\/ \u0423\u0431\u0438\u0440\u0430\u0435\u043c HTML-\u0442\u0435\u0433\u0438\n      sheet.getRange(i+1, 3).setValue(sisu); \/\/ \u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443\n    } else {\n      insertError(&#039;\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u0441\u043f\u0430\u0440\u0441\u0438\u0442\u044c sisu.&#039;, i+1, 3);\n    }\n\n} else {\ninsertError(&#039;\u041a\u043e\u0434 \u043e\u0442\u0432\u0435\u0442\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 != 200.&#039;, i+1);\n}\n \n}\n\n}\n<\/pre><\/div>\n\n\n<p><strong>Tulemus:<\/strong><\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69db3378005da&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69db3378005da\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"463\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-25-1024x463.png\" alt=\"\" class=\"wp-image-1626\" srcset=\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-25-1024x463.png 1024w, https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-25-300x136.png 300w, https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-25-768x347.png 768w, https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-25-150x68.png 150w, https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-25-1536x694.png 1536w, https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-25-600x271.png 600w, https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-25.png 1845w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Enne: Tulemus: P\u00e4rast: Tulemus: Enne: Tulemus: P\u00e4rast: Tulemus:<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1617","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Triggeri toiming onEdit - Anna Oleks &Otilde;PIMAPP<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/\" \/>\n<meta property=\"og:locale\" content=\"et_EE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Triggeri toiming onEdit - Anna Oleks &Otilde;PIMAPP\" \/>\n<meta property=\"og:description\" content=\"Enne: Tulemus: P\u00e4rast: Tulemus: Enne: Tulemus: P\u00e4rast: Tulemus:\" \/>\n<meta property=\"og:url\" content=\"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/\" \/>\n<meta property=\"og:site_name\" content=\"Anna Oleks &Otilde;PIMAPP\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-21T19:50:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-23.png\" \/>\n\t<meta property=\"og:image:width\" content=\"536\" \/>\n\t<meta property=\"og:image:height\" content=\"147\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/\",\"url\":\"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/\",\"name\":\"Triggeri toiming onEdit - Anna Oleks &Otilde;PIMAPP\",\"isPartOf\":{\"@id\":\"https:\/\/annaoleks24.thkit.ee\/wp\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-23.png\",\"datePublished\":\"2025-03-20T12:11:54+00:00\",\"dateModified\":\"2025-03-21T19:50:57+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/#breadcrumb\"},\"inLanguage\":\"et\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"et\",\"@id\":\"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/#primaryimage\",\"url\":\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-23.png\",\"contentUrl\":\"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-23.png\",\"width\":536,\"height\":147},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\/\/annaoleks24.thkit.ee\/wp\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Triggeri toiming onEdit\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/annaoleks24.thkit.ee\/wp\/#website\",\"url\":\"https:\/\/annaoleks24.thkit.ee\/wp\/\",\"name\":\"Anna Oleks &Otilde;PIMAPP\",\"description\":\"Portfolio\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/annaoleks24.thkit.ee\/wp\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"et\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Triggeri toiming onEdit - Anna Oleks &Otilde;PIMAPP","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/","og_locale":"et_EE","og_type":"article","og_title":"Triggeri toiming onEdit - Anna Oleks &Otilde;PIMAPP","og_description":"Enne: Tulemus: P\u00e4rast: Tulemus: Enne: Tulemus: P\u00e4rast: Tulemus:","og_url":"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/","og_site_name":"Anna Oleks &Otilde;PIMAPP","article_modified_time":"2025-03-21T19:50:57+00:00","og_image":[{"width":536,"height":147,"url":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-23.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/","url":"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/","name":"Triggeri toiming onEdit - Anna Oleks &Otilde;PIMAPP","isPartOf":{"@id":"https:\/\/annaoleks24.thkit.ee\/wp\/#website"},"primaryImageOfPage":{"@id":"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/#primaryimage"},"image":{"@id":"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/#primaryimage"},"thumbnailUrl":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-23.png","datePublished":"2025-03-20T12:11:54+00:00","dateModified":"2025-03-21T19:50:57+00:00","breadcrumb":{"@id":"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/#breadcrumb"},"inLanguage":"et","potentialAction":[{"@type":"ReadAction","target":["https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/"]}]},{"@type":"ImageObject","inLanguage":"et","@id":"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/#primaryimage","url":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-23.png","contentUrl":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-content\/uploads\/2025\/03\/image-23.png","width":536,"height":147},{"@type":"BreadcrumbList","@id":"https:\/\/annaoleks24.thkit.ee\/wp\/rabota-s-triggerom-onedit\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/annaoleks24.thkit.ee\/wp\/"},{"@type":"ListItem","position":2,"name":"Triggeri toiming onEdit"}]},{"@type":"WebSite","@id":"https:\/\/annaoleks24.thkit.ee\/wp\/#website","url":"https:\/\/annaoleks24.thkit.ee\/wp\/","name":"Anna Oleks &Otilde;PIMAPP","description":"Portfolio","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/annaoleks24.thkit.ee\/wp\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"et"}]}},"_links":{"self":[{"href":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-json\/wp\/v2\/pages\/1617","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-json\/wp\/v2\/comments?post=1617"}],"version-history":[{"count":4,"href":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-json\/wp\/v2\/pages\/1617\/revisions"}],"predecessor-version":[{"id":1628,"href":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-json\/wp\/v2\/pages\/1617\/revisions\/1628"}],"wp:attachment":[{"href":"https:\/\/annaoleks24.thkit.ee\/wp\/wp-json\/wp\/v2\/media?parent=1617"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}