我正在使用最新版本的 iframe-resizer/react 来自动调整 iframe 的高度和宽度。每当我对内容做出反应时,我都会收到运行时错误 -VM2860:1
我正在使用最新版本的 iframe-resizer/react 来自动调整 iframe 的高度和宽度。每当我对内容做出反应时,我都会收到运行时错误,指出 -VM2860:1 未捕获的语法错误:意外的令牌“s”,\'scroll-to-top\' 不是有效的 JSON
我不知道这是从哪里来的。我检查了 iframe 中发生的事件。那里也没有提到 scroll-to-top 这个东西。
下面是我编写的代码片段。请帮我解决这个问题。
import IFrameResizer from "@iframe-resizer/react";
<IFrameResizer
src={iframeSrc}
license="GPLv3"
className="iframe-dialog"
title="Iframe Dialog"
onLoad={onLoad}
scrolling={false}
forwardRef={iframeRef}
style={{
width: "100%",
border: "none",
opacity: "100",
height: "100vh",
}}
/>
我已尝试使用 iframe-resizer/react 中提供的 onResized、onMessage 处理程序来获取消息,但仍然没有任何反应。
我对现代 C++ 不太熟悉,但我一直在查看 Boost.Beast 示例文件并试图了解它们的工作原理。具体来说,我一直在查看这个 http 服务器示例。这里...
我对现代 C++ 不太熟悉,但我一直在查看 Boost.Beast 示例文件并试图了解它们的工作原理。
具体来说,我一直在看 这个 http 服务器示例 .
以下是我想要理解的简化版本:
void do_session(
tcp::socket& socket,
ssl::context& ctx,
std::shared_ptr<std::string const> const& doc_root
);
int main(int argc, char* argv[])
{
if (argc != 4)
{
std::cerr <<
"Usage: http-server-sync-ssl <address> <port> <doc_root>\n" <<
"Example:\n" <<
" http-server-sync-ssl 0.0.0.0 8080 .\n";
return EXIT_FAILURE;
}
auto const address = net::ip::make_address(argv[1]);
auto const port = static_cast<unsigned short>(std::atoi(argv[2]));
auto const doc_root = std::make_shared<std::string>(argv[3]);
net::io_context ioc{1};
ssl::context ctx{ssl::context::tlsv12};
load_server_certificate(ctx);
tcp::acceptor acceptor{ioc, {address, port}};
for(;;)
{
// This will receive the new connection
tcp::socket socket{ioc};
// Block until we get a connection
acceptor.accept(socket);
// Launch the session, transferring ownership of the socket
std::thread{std::bind(
&do_session,
std::move(socket),
std::ref(ctx),
doc_root)}.detach();
}
}
在底层,当创建线程时, &do_session
在传递给构造函数之前 std::bind
被包装起来 std::thread
。据我所知,参数可以传递到线程构造函数中。仅仅写 会不会有功能或性能上的差异 std::thread(&do_session, std::move(socket), std::ref(ctx), doc_root)
?
我原以为这两者在功能上是相同的,但我假设该文件的作者知道一些我不知道的事情……