我需要使用nodejs检查拨动开关的位置。这是我尝试做的事的一个示例:
** index.html **基于W3Schools:
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(willEnterForeground),
name: Notification.Name.UIApplicationWillEnterForeground,
object: nil)
}
@objc func willEnterForeground() {
// do what's needed
}
和节点应用程序:
app.js
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.switch {
position: relative;
display: inline-block;
width: 60px;
height: 34px;
}
.switch input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
-webkit-transition: .4s;
transition: .4s;
}
.slider:before {
position: absolute;
content: "";
height: 26px;
width: 26px;
left: 4px;
bottom: 4px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}
input:checked + .slider {
background-color: #2196F3;
}
input:focus + .slider {
box-shadow: 0 0 1px #2196F3;
}
input:checked + .slider:before {
-webkit-transform: translateX(26px);
-ms-transform: translateX(26px);
transform: translateX(26px);
}
/* Rounded sliders */
.slider.round {
border-radius: 34px;
}
.slider.round:before {
border-radius: 50%;
}
</style>
</head>
<body>
<h2>Toggle Switch</h2>
<label class="switch">
<form id= "test" method="POST" action="test">
<input type="checkbox" checked>
<span class="slider round"></span>
</label>
</form>
</body>
</html>
所以我的问题是如何使用nodejs找出甚至设置此滑块的位置! 提前致谢!
答案 0 :(得分:1)
您的问题是您没有表单的提交调用,您可以将onClick属性添加到复选框输入中以提交表单:
<input type="checkbox"
name='switch'
onClick="document.forms['test'].submit();"
checked>
注意:不要忘了给您的输入一个名称,以确定后端(node.js)中的复选框状态
答案 1 :(得分:1)
因此,如果我正确理解了您的问题,则您有一些想要同时获取/设置其属性的类。如果是这样,我建议在HTML中使用数据属性,您可以通过替换在文件中在nodejs中设置它们(因为您使用的是原始html),然后您将获得它们并通过DOM中的js返回到节点。
然后,我将通过以下方式在html文件中写入raw来在node中设置参数:(<div class="whatever" data-somewhat-position='-POSITION WHATEVER-'>)
并像这样替换它:
let newPosition = // new position here
fs.readFile('file.html',(err,data)=>{String(data).replace('-POSITION WHATEVER-',newPosition)) }
这将使用设置的数据呈现html,您可以将其提取到DOM中并进行操作(即,更改类的样式)。
如何提取数据,已在此处回答:get data attributes in JavaScript code
因此,您提取数据,将其序列化为表格,然后将其保存为NODE。
这当然不是最有效的方法,但我希望您能理解。