javascript - 使用 Javascript 检索 AppScript 的 URL
问题描述
我正在尝试使用新参数重新加载当前页面,但我无法检索网页的正确 URL。我得到一个备用 URL,而不是触发 Web 应用程序的 URL
https://script.google.com/a/user/macros/s/A...ljhGC/dev?action=menu&id=1
单击按钮时,我希望更改操作参数的值并将页面重新加载为
https://script.google.com/a/user/macros/s/A...ljhGC/dev?action=checkout&id=1
这是我在 HTML 文件中的 javascript
console.log(document.url);
var url = new URL(window.location.href);
var query_string = url.search;
var search_params = new URLSearchParams(query_string);
search_params.set('action', 'checkout');
url.search = search_params.toString();
var new_url = url.toString();
window.location.replace(new_url);
console.log(new_url);
}
这是被记录的 URL
https://n-ikwx...khq-1lu-script.googleusercontent.com/userCodeAppPanel?action=checkout
如何检索地址栏中的实际 URL?
提前致谢!
解决方案
问题:
具有不同来源的 iframe 无法读取父/顶框架的位置的href属性,该属性是只写的。所以,你不能。
解决方案:
但是,您可以从服务器端传递 url。
服务器端:
function getTopUrl(){
return ScriptApp.getService().getUrl();
}
客户端:
var topUrl;
function getTop(){
google.script.run.withSuccessHandler((url)=>{topUrl=url;}).getTopUrl();
}
window.addEventListener('load', getTop);
参考:
推荐阅读
- ios - 是否可以关闭 QLPreviewController 上的复制文本
- python - 去掉括号
- pytorch - 尝试构建支持旧 gpu (3.0) 的 pytorch 1.0.0 cuda 10.2
- bash - 无法访问 bash 脚本函数中的配置文件变量
- javascript - NestJS (NodeJS) client.query 运行 3 次,结果为空
- mongodb - MongoDB - 过滤数组并获取不同的计数
- python - 如何根据熊猫列注释散点图中的点?
- javascript - 简单JS函数的解决方案
- c# - 为什么字符串哈希在 C# 和 SQL Server 中会产生不同的结果?
- flutter - 转换 listview -> listview.builder