javascript - 如何在谷歌应用脚本中全局访问 location.hash?
问题描述
我需要将 location.hash 存储为修改我的谷歌电子表格数据库的密钥。不幸的是,console.log() 总是显示未定义。有没有其他方法可以访问该值?
let global_id_str;
document.addEventListener("DOMContentLoaded", function() {
google.script.url.getLocation(function(location) {
global_id_str = location.hash;
document.getElementById("Item").textContent =global_id_str;
});
search();
});
我尝试使用单独的函数或仅使用 console.log() 进行调用。它仍然给出“未定义”。我也尝试使用 getElementById 将 textContent 存储在变量中,但这也是未定义的。
function search(){
console.log('here',global_id_str);
var returnedResults = global_id_str === "" ? [] : data.filter(function(r){
return searchWords.every(function(word){
return [0].some(function(colIndex){
return r[colIndex].toString().toLowerCase().indexOf(word) !== -1
});
});
});
}
这一定是GAS特有的问题吗?
解决方案
//////////////////////////// set hash & parameter global variable //////////////////////////////////////////////
var hash,option,options;
google.script.url.getLocation(function(location) {
var search=location.parameter;
var search2=location.parameters;
var ghash=location.hash;
alert(ghash)
alocation(ghash,search,search2);
cform(search)
});
function alocation(ghash,search,search2){hash=ghash;option=search;options=search2;}
///////////////////// result ////////////////////
// http://www.example.com?n=1&name=muhammad(sm)&n=2#headingAnchor
hash="headingAnchor"
option.name="muhammad(sm)"
option.n="1"
options.n[0]="1"
optons.n[1]="2"
推荐阅读
- amazon-web-services - AWS 托管页面和外部域提供商的 TLS 证书
- c# - MVC 选择下拉菜单然后更新并显示字符串
- selenium - 在空手道中调用另一个包含 webdriver 步骤的功能
- bash - 删除以#开头的行
- python - 如何使用 Lime 对时间序列进行分类
- amazon-sqs - SNS 消息的 MessageId 是否与对应的 SQS MessageId 相同?
- model - “真 U Φ”是有效的计算树逻辑公式吗?
- python - 在 Airflow 1.10.9 上运行 initdb 时出现 Sqlalchemy 错误
- mysql - Mysql:统计并返回不超过一定数量的分组记录
- sas - 如何从 SAS 中的单个变量复制特定观察结果?