返回的JavaScript值不会在div元素中呈现
这是一个基本问题(再次发布,因为在我更新后它没有重新打开)。但我在这上面找不到任何复制品 这是一个脚本,我打算在我的项目中使用不同的页面。其目的是将返回的JavaScript值不会在div元素中呈现,javascript,html,Javascript,Html,这是一个基本问题(再次发布,因为在我更新后它没有重新打开)。但我在这上面找不到任何复制品 这是一个脚本,我打算在我的项目中使用不同的页面。其目的是将span元素中显示的默认ID覆盖为URL参数session\u order中的订单号。这不会影响任何事情,只会增强我的项目的用户体验 scripts.js(加载到标题中): 函数get\u url\u参数(url,参数){ var url=新的url(url); 返回url.searchParams.get(参数); } 在我的HTML模板中,我这
span
元素中显示的默认ID覆盖为URL参数session\u order
中的订单号。这不会影响任何事情,只会增强我的项目的用户体验
scripts.js(加载到标题中):
函数get\u url\u参数(url,参数){
var url=新的url(url);
返回url.searchParams.get(参数);
}
在我的HTML模板中,我这样调用函数,
24
也尝试过这个,
document.write(获取url参数(window.location.href,'session\u order');
呈现页面时,不会发生任何更改。对于第一种情况,控制台中也没有错误或警告
对于第二种情况,控制台记录了一个错误uncaughtreferenceerror:get\u url\u参数未定义
,尽管script.js
在div
元素之前加载(没有任何错误)
通常,我会使用Flask在服务器端执行此操作,但我正在尝试JavaScript(我对JavaScript不熟悉),因为它只是一个UX增强
我缺少什么?试试这个:
//由于无法在stackoverflow编辑器中测试,因此对此进行了注释
//const url=window.location.href;
常量url=https://example.com?session_order=13';
函数get_url_参数(url,参数){
const u=新的URL(URL);
返回u.searchParams.get(参数);
}
window.onload=函数(){
const el=document.getElementById('sessionOrder');
const val=get_url_参数(url,‘会话顺序’);
if(val){
el.innerHTML=val;
}
}
24
给你。尝试使用文档远离内联脚本。编写
函数get\u url\u参数(url,参数){
var url=新的url(url);
返回url.searchParams.get(参数);
}
addEventListener('load',function()){
常量url=https://yourpagesdomain.name/?session_order=hello“;//window.location.href;
const sessionOrder=get_url_参数(url,‘会话顺序’);
document.getElementById('sessionOrder')。innerText=sessionOrder;
});代码>
标记和脚本的顺序很重要
函数get_url_参数(url,参数){
var url=新的url(url);
返回url.searchParams.get(参数);
}
document.querySelector('div')。innerHTML=get\u url\u参数('div')https://example.com?session_order=2","会议顺序",;
由于HTML从上到下读取,如果在元素调用后声明了函数,它将找不到它。您可以将javascript包装在正文的末尾以找到它。@安德烈·席尔瓦,如果是这样的话,第一种情况也应该失败,对吗?我在控制台中没有看到类似的错误。我正在
中加载我的脚本.js
,并调用
中的函数。谢谢。这是可行的,但我想了解为什么24
不起作用。基本上,你不能。只有少数元素支持onload
事件,而
不是其中之一。非常感谢。这澄清了我的问题,我明白。但是在我的例子中,我的script.js
是在中加载的,而函数是在
中调用的。我正在试图理解为什么这个.innerHTML
也不起作用。谢谢。这很有效。我仍然想理解为什么24
不起作用。因为div
元素没有onload
事件。