我有一个带有析构函数和继承者Base的类:virtualfinal Derived
class Base {
public:
virtual ~Base() {
// some impl
}
};
class Derived final : public Base {
public:
virtual ~Derived() override {
// some other impl
}
};
Run Code Online (Sandbox Code Playgroud)
我有以下问题:
~Derived需要virtual说明符?~Derived为吗final?我正在尝试从一些 lisp 文件中获取一串代码,以创建 unix 文件名并将其显示在网页上:
\n(let ((code "(defun \xc2\xb2 (x) (* x x))"))\n (second (read-from-string code)))\nRun Code Online (Sandbox Code Playgroud)\n其评估结果为|2|. 事实上,只需键入即可\'\xc2\xb2计算为|2|, 而不是|\xc2\xb2|。
该code字符串是从文件中读取的。我正在使用 SBCL 2.2.10。
使用此方案,字符串的"x\xc2\xb2"解析方式与字符串相同"x2":
(read-from-string "x\xc2\xb2")\n(read-from-string "x2")\nRun Code Online (Sandbox Code Playgroud)\n如何在read-from-string不对字符串中的代码进行修改的情况下做出正确的更改?
我能够通过记录 onselect 并每次存储开头和结尾来从文本区域中获取突出显示的文本。然后,当我单击按钮时,我自己构建子字符串。是否有更简单的方法来简单地查询选择?
我有点期待 html5 dom 中会有用于所有这些事情的方法,例如:
textarea.getSelectedStart() textarea.getSelectedEnd(); textArea.setSelected(开始,结束);
另外,是否有一种方法可以以编程方式取消选择文本区域中的文本?
我正在根据下面的第一个解决方案输入代码。这种方法可行,但有一个奇怪的问题:
<script language=javascript>
function replaceCLOZE(code, questionType) {
var v = code.value;
var s = code.selectionStart;
var e = code.selectionEnd;
var t = v.substr(s, e-s);
var rep = "{:" + questionType + ":="+t+"}";
code.value = v.substr(0,s) + rep + v.substr(e,v.length-e+1);
}
function shortAnswer(code) {
replaceCLOZE(code, "SA");
}
function shortAnswerCaseSensitive(code) {
replaceCLOZE(code, "SAC");
}
function multipleChoice(code) {
replaceCLOZE(code, "MC");
}
Run Code Online (Sandbox Code Playgroud)
文本区域实际上具有属性 code.selectionStart 和 code.selectionEnd。但上面的代码现在可以工作,将屏幕上突出显示的文本设置为文本区域中的第一个单词。请注意,selectionStart 仍然是正确的,但 Firefox 中实际突出显示的内容是错误的。
在 Chrome 中它工作得很好。也许这只是 Firefox …
我正在尝试从连接到另一个域的CouchDB的应用程序中更改用户的密码.我的代码或多或少与CouchDB Docs中的示例相同,即获取文档,更改数据,然后发送带有更改的PUT请求.PUT请求发生问题 - 由于CORS,浏览器在发送PUT请求之前尝试执行OPTIONS请求,但OPTIONS请求返回405 Method Not Allowed.
有没有人知道如何解决这个问题?
这是请求标题,以防它有用:
OPTIONS /_users/org.couchdb.user:clinic_admin HTTP/1.1
Host: localhost:15984
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Access-Control-Request-Method: PUT
Origin: https://localhost:15000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36
Access-Control-Request-Headers: content-type, if-match
Accept: */*
Referer: https://localhost:15000/webapp/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,ja;q=0.6,sv;q=0.4,zh-CN;q=0.2
Run Code Online (Sandbox Code Playgroud) 我正在使用Chrome stable 46.
我有一个非常基本的网站.一个button.onclick fetch('a')和一个<a>打开的标签b.这两个URL a和b不存在的,我打算抓住他们的服务人员和刚刚返回new Response().
如果我单击提取的按钮a,服务工作者不参与,我收到404错误.
但是,如果我点击进入的链接,b服务工作人员就会获取并返回响应.
问题:为什么服务工作者没有为fetch('a')请求获取任何FetchEvent ?
请参阅以下文件
HTML
<html>
<body>
<p><button onclick="fetch('a');">fetch a</button></p>
<p><a href="b">go to b</a></p>
<script src="js.js" defer></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
js.js
navigator.serviceWorker.register('sw.js');
Run Code Online (Sandbox Code Playgroud)
sw.js
self.onfetch = function(event) {
var request = event.request;
event.respondWith(
caches.match(request).then(function(response) {
return new Response('here is your onfetch response');
})
);
};
Run Code Online (Sandbox Code Playgroud) 我已经寻找了一段时间的答案了.在一般的编码方面,我是一个绝对的菜鸟,但我想我会尝试一下.我正在尝试使用3(三)个滑块(R,G,B)编写一些代码来更改视图的颜色.
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var colorView: UIView!
@IBOutlet weak var redSlider: UISlider!
@IBAction func redValueChanged(sender: UISlider) {
var red = CGFloat(sender.value)
displayColors()
}
@IBOutlet weak var greenSlider: UISlider!
@IBAction func greenValueChanged(sender: UISlider) {
var green = CGFloat(sender.value)
displayColors()
}
@IBOutlet weak var blueSlider: UISlider!
@IBAction func blueValueChanged(sender: UISlider) {
var blue = CGFloat(sender.value)
displayColors()
}
func displayColors(){
let red = CGFloat(redSlider.value)
let blue = CGFloat(blueSlider.value)
let green = CGFloat(greenSlider.value)
let color = UIColor(
red: red, …Run Code Online (Sandbox Code Playgroud) 我读过推送订阅可能会导致浏览器和推送服务之间不同步。
我见过两种补救措施,两者看起来都是非标准的:
我认为任何应用程序都应该处理这两点,在这些点上订阅可以被识别为不同步(以及任何/全部)。
问题:
mutlipart/formdata ---boundaryString
如何使用谷歌存储的签名网址上传内容类型的文件?
我面临的问题是,当我们使用浏览器上传文件时,浏览器将内容类型放置在内容类型标头值的动态部分mutlipart/formdata ---boundaryString 中。boundaryString
现在,由于谷歌签名方法要求内容类型成为签名的一部分。生成签名 URL 变得不可能。
我有一个后端服务器(由 Rails 提供支持),其 API 由在 Node 简单开发服务器上运行的 HTML5 前端使用。
两者都在同一台主机上:我的机器。
当我从前端登录到后端时,rails 向我发送了会话 cookie。我可以在响应头中看到它,问题是浏览器不保存它。
政策是正确的,如果我直接从 Rails 应用程序提供相同的前端,cookie 设置正确。
我能看到的唯一区别是,当前端在 Node 服务器上运行时,它在端口上运行,8080而 rails 在端口上运行3000。我知道 cookie 不应该是特定于端口的,所以我错过了这里发生的事情。
有什么想法吗?解决方案?
(我需要能够以这种方式保持设置,以便让前端从 Node 提供服务,后端在不同端口的导轨上提供服务)
Google Page Insight建议我异步加载所有阻止CSS文件.好吧,我已经用预加载的方式重写了样式表文件包含,如下所示,并从头部延迟到正文的末尾:
...
<link rel="preload" href="mystyles.css" media="all" as="style"
onload="this.rel='stylesheet'"/>
</body>
Run Code Online (Sandbox Code Playgroud)
Google Page Insight迫使我从脑袋中取出它并将其放在身体末端.
好的,我可以对抗Google Page Insight.
但W3C Validator现在说我:
错误:链接元素不得显示为body元素的后代,除非link元素具有itemprop属性或具有rel属性,其值包含dns-prefetch,pingback,preconnect,prefetch,prerender或stylesheet
为什么"预加载"不被承认在rel属性中?我试图分配一个itemprop,但是不可能在同一个链接中有一个itemprop和一个rel.