Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.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 基于用户选择环境的选择性ejs模板_Javascript_Node.js_Ejs_Hexo - Fatal编程技术网

Javascript 基于用户选择环境的选择性ejs模板

Javascript 基于用户选择环境的选择性ejs模板,javascript,node.js,ejs,hexo,Javascript,Node.js,Ejs,Hexo,我正在ejs中构建一个hexo博客主题,它将成为我的技术文档项目的风格。我希望允许用户选择一种语言(JavaScript或TypeScript)。然后,我想键入类似以下内容的代码段: {% js %} ```JavaScript var geolocation = require("nativescript-geolocation"); ``` {% endjs %} {% ts %} ```TypeScript import geolocation = require("nativescri

我正在ejs中构建一个hexo博客主题,它将成为我的技术文档项目的风格。我希望允许用户选择一种语言(JavaScript或TypeScript)。然后,我想键入类似以下内容的代码段:

{% js %}
```JavaScript
var geolocation = require("nativescript-geolocation");
```
{% endjs %}

{% ts %}
```TypeScript
import geolocation = require("nativescript-geolocation");
```
{% endts %}
然后是两个按钮/a滑块,用户可以选择typescript或javascript(默认为js)。我对UI实现很满意,但不确定如何设置属性来确定使用了上面的哪个代码段


根据用户选择的语言,将显示正确的代码段。我如何实现这一点?

想象一下,Hexo标记的输出是这样的


var geolocation=require(“nativescript geolocation”);
导入地理位置=需要(“nativescript地理位置”);
现在,您必须将javascript写入:

  • 默认情况下显示代码块(默认语言)
  • 单击按钮时以所需语言显示代码块
  • 保存所选语言以在刷新或更改页面时显示正确的语言
下面是一个jQuery库在会话中的示例,因为在SO上的代码段中不允许使用会话存储

在本例中,我使用了
.hide()
.show()
方法,但您也可以使用CSS类来实现这一点。在所需的语言代码块上添加一个类(
.addClass()
),并使用一些css删除其他代码块上的类(
.removeClass()
):

.codeblock{
显示:无;
}
.codeblock.active{
显示:块;
}

会话存储是站点范围的还是每页的?会话或本地存储范围是域和子域。阅读以了解更多信息:)是否可以将其修改为使用
标记而不是
标记?是的,当然可以使用