我有一个闪亮的应用程序,我们在其中使用书签URL。网址似乎太长。我将这些URL保存在数据表中。如何在添加到应用程序之前使其短路?长网址的Ex如下:
http://127.0.0.1:4534/?_inputs_&bookmarkName=%2211m%22&budget_input=11000000&col=%22table%22&col1=%22bud_digi_table%22&drop624996478=1&drop624996478_state=true&inp_lb=0.5&inp_ub=1.5&iterations=2000&myNavbarPage=%22Optimizer%22&opt_reset=0&opt_run=0
答案 0 :(得分:1)
使用<a href=full URL target=_blank>URL</a>
标签,我们可以在URL
标签中传递span
并添加属性标题,该属性标题是HTML用作鼠标悬停时默认的属性。这里是如何使用span
标签的方法:
<a href=full URL target=_blank> <span title= full URL > Short URL </span> </a>
然后我们将使用JS在span
中为data.table
显示30
的合理长度,这将是library(DT)
datatable(data.frame(URLs), options = list(columnDefs = list(list(
targets = c(1),
render = JS(
"function(data, type, row, meta) {",
"return type === 'display' && data.length > 30 ?",
"'<a href=\"' + data + 'target=\"_blank\"> <span title=\"' + data + '\">' +
data.substr(0, 30) + '...</span></a>' : data;",
"}")
))))
URLs <- c("http://127.0.0.1:4534/?_inputs_&bookmarkName=%2211m%22&budget_input=11000000&col=%22table%22&col1=%22bud_digi_table%22&drop624996478=1&drop624996478_state=true&inp_lb=0.5&inp_ub=1.5&iterations=2000&myNavbarPage=%22Optimizer%22&opt_reset=0&opt_run=0
", "http://127.0.0.1:4534/?_inputs_&bookmarkName=%2211m%22&budget_input=11000000&col=%22table%22&col1=%22bud_digi_table%22&drop624996478=1&drop624996478_state=true&inp_lb=0.5&inp_ub=1.5&iterations=2000&myNavbarPage=%22Optimizer%22&opt_reset=0&opt_run=0
")
数据
<span class="flag-icon flag-icon-gr"></span>
答案 1 :(得分:0)
以下代码实际上将使用gzip编码压缩一个字符串。以下将原始编码表示为base64字符串:
library(base64enc)
url <- "http://127.0.0.1:4534/?_inputs_&bookmarkName=%2211m%22&budget_input=11000000&col=%22table%22&col1=%22bud_digi_table%22&drop624996478=1&drop624996478_state=true&inp_lb=0.5&inp_ub=1.5&iterations=2000&myNavbarPage=%22Optimizer%22&opt_reset=0&opt_run=0"
gzip_url <- memCompress(charToRaw(url),type="gzip")
compressed_url<-base64encode(what=gzip_url)
rawToChar(memDecompress(from=base64decode(what=compressed_url),type="gzip"))
这确实缩短了总字符串的长度。虽然不多。缩短的更好方法是创建一个单独的查找表,以将某些较长的变量(例如“ bookmarkName”和“ myNavbarPage”等)替换为您控制的变量,例如您可以控制使用的变量“ B”或“ m”字符串替换。否则,任何类型的压缩或编码都需要捕获这些冗长的字符串。这里有一个有用的讨论:An efficient compression algorithm for short text strings
您还可以将其转换为一个很小的URL。这也通过使用长网址使用查找表,并创建了一个替代的较短的参考网址。您可以在内部进行管理,也可以使用标准的微型url服务来进行此操作。还有一个R软件包可以帮助管理此问题,您可以在此处了解更多信息:https://www.r-bloggers.com/urlshortener-a-package-for-shortening-urls/