Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 试图拥有一个<;h3>;基于URL的标记更改_Javascript_Node.js_Express - Fatal编程技术网

Javascript 试图拥有一个<;h3>;基于URL的标记更改

Javascript 试图拥有一个<;h3>;基于URL的标记更改,javascript,node.js,express,Javascript,Node.js,Express,经过几天的搜索和反复尝试,我仍然无法让它在没有崩溃的情况下工作 我试图实现的是更改.ejs文件中H3标记中显示的文本 这是因为我们正在构建的系统使用的是另一个文件的一部分,所以不需要创建更多的文件,只有这个标签需要更改它的文本 有关章节: <%if (window.location.href === '/newWizard') { %> <h3><strong>Step of a Wizard </strong> - Some Text<

经过几天的搜索和反复尝试,我仍然无法让它在没有崩溃的情况下工作

我试图实现的是更改.ejs文件中H3标记中显示的文本

这是因为我们正在构建的系统使用的是另一个文件的一部分,所以不需要创建更多的文件,只有这个标签需要更改它的文本

有关章节:

<%if (window.location.href === '/newWizard') { %>
  <h3><strong>Step of a Wizard </strong> - Some Text</h3>
<% }else { %> 
  <h3>Same Text</h3> 
<% } %>

向导的步骤-一些文本
同一文本
此文件由引用,该文件由引用一步

我们在Node.js和剑道网格设计的基础上构建这个软件


如果您对此有任何帮助,我将不胜感激,我将继续研究并处理它,如果我能让它正常工作,我将更新它。

window.location.href
,如果我没有弄错的话,将为您提供完整的URL。您可能需要检查
window.location.pathname
,以便按照您描述的方式进行检查

您还可以根据需要在
href
路径名上进行一些模式匹配

更新

因为它是.ejs,所以它是在服务器上执行的,所以没有窗口对象

在客户端运行脚本。在HTML中创建
,给它一些id,比如
,然后添加一个脚本

if (window.location.pathname === '/newWizard') {
    document.getElementById('title-heading').innerHTML = '<strong>Step of a Wizard </strong> - Some Text';
}
else {
    document.getElementById('title-heading').innerHTML = 'Same Text';
}
if(window.location.pathname==='/newWizard'){
document.getElementById('title-heading')。innerHTML='向导步骤-一些文本';
}
否则{
document.getElementById('title-heading')。innerHTML='sametext';
}

尝试后检查了我的日志,但仍然显示“窗口”未定义。。。所以问题可能是我无法访问这个文件中的调用。我对它不太熟悉,但可能是因为它是.ejs,所以它是在服务器上执行的,所以没有窗口。您可能希望在JavaScript客户端执行此操作。我将使用一个代码段进行更新。您是否在节点中呈现此内容并将其发送到客户端?正如@Lucas所说,节点中没有
窗口
对象。您必须获取
req
的来源,并将其发送给您的控制器。上述方法已解决了我的崩溃问题,但由于某些原因,我无法获得“无法将属性'innerHTML'设置为null。这是否意味着我试图传递一些没有价值的东西给它,因为它没有在/newWizard中启动,或者我不应该使用innerHTML?这可能是因为在加载HTML之前,JavaScript正在执行。那么它就找不到你所指的元素了。(, )