【问题标题】:google spreedsheets & URI.js谷歌电子表格和 URI.js
【发布时间】:2018-05-18 19:58:33
【问题描述】:

我正在尝试使用 http://medialize.github.io/URI.js/ 在我的谷歌电子表格中的单元格中获取一个 URL,而无需查询部分。

原始网址http://test.com/file.php?this=1&that=2 --> 我想从这个网址获取http://test.com/file.php

按照这个网站http://googleappscripting.com/working-with-urls/ 我在我的电子表格中添加了示例代码,我可以使用如下功能:

    function urlPath(url){
  return URI(url).path()
   }

为了获得我需要的 url,我创建了另一个函数:这里的文档http://medialize.github.io/URI.js/

eval(UrlFetchApp.fetch('https://rawgit.com/medialize/URI.js/gh-pages/src/URI.js').getContentText());     

function url_whitout(url){
      return URI(url).search("")
       }

但我得到一个错误:TypeError: undefined is not a valid argument for URI

有什么想法可以让它工作吗?

谢谢

【问题讨论】:

    标签: javascript google-apps-script google-sheets uri.js


    【解决方案1】:

    这不是 URI.js 问题,而是 Google Apps 脚本问题。您需要先将 url 获取到函数中。

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var url = ss.getActiveSheet().getRange(1,1).getValue();
    

    getRange() 函数有几个不同的版本,所以要明智地选择Range Docs

    您必须将值放入函数中才能读取它。

    作为旁注,我建议使用该功能

    Logger.log(url);
    

    在你运行函数后澄清你在做什么。

    【讨论】:

    • 我通过使用任何单元格上的公式(如=url_whitout(A1)
    • 好的,我明白了,当您输入 =url_whitout("https:yourURLhere") 时会发生什么?问题是 A1 未定义,因此您不会从中获得有效的 URL。我知道单元格 A1 有一个 URL,但该函数正在寻找要传递给它的 URL,而不是单元格名称。这就是为什么我建议使用 getValue() 函数
    • 不是真正的问题...函数 itsef 不正确。 url 正确传递,我使用示例中的其他函数对其进行了测试googleappscripting.com/working-with-urls。不知何故,uri.search 似乎不再对 URI.js 有效
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多