我有一个固定宽度的网页(640像素宽).我希望这个页面缩小到移动设备的宽度.但是,如果设备的原始宽度大于640像素,我不希望它被拉伸.看起来很简单:
<meta name="viewport" content="width=640, maximum-scale=1.0" />
Run Code Online (Sandbox Code Playgroud)
这在iPad/iPhone中可以正常使用.但是,在Android平板电脑上(例如在横向模式下),内容会按比例放大以适合显示.换句话说,Android只是忽略了maximum-scale = 1.您可以在此处查看包含此问题的示例页面.为了完整起见,这里有来源:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test Viewport</title>
<meta name="viewport" content="width=640, maximum-scale=1.0" />
<style>
div.bar {
position: absolute;
width: 636px;
height: 50px;
background-color: yellow;
border: 2px solid black;
left: 50%;
margin-left: -320px;
}
</style>
</head>
<body>
<div class="bar">
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我一直在使用视口元标记进行大量的研究和实验.我已经阅读了关于这个主题的所有内容,但没有看到这个看似基本的问题.
两个笔记:
这不是目标密度dpi问题
在这种情况下,将视口宽度设置为设备宽度没有帮助,因为内容宽度是固定的并且大于(例如)手机的纵向设备宽度.如果我设置width = device-width,页面将不会自动缩小以适合手机..
非常感谢.
当我在Chrome中执行以下测试HTML页面时,我在调试控制台中看到以下内容:
Has parent? true
Has parent? false
Run Code Online (Sandbox Code Playgroud)
我是否正确地认为这是一个Chrome错误(在其他浏览器中不会发生),或者Chrome是否因为某些原因而有权执行此操作?它导致了我的一个网络应用程序中的错误,我最终将此片段隔离出来以重现核心问题.
这是测试页面:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body class="">
<script>
function testDoodle() {
var testParentEl = document.createElement('div');
var testChildEl = testParentEl.appendChild(document.createElement('div'));
document.body.innerHTML+=('Has parent? ' + !!testChildEl.parentNode+'<br>');
console.log('Has parent? ' + !!testChildEl.parentNode);
setTimeout(function() {
document.body.innerHTML+=('Has parent? ' + !!testChildEl.parentNode+'<br>');
console.log('Has parent? ' + !!testChildEl.parentNode);
},
2000);
return;
}
testDoodle();
</script>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
编辑:我应该提到我正在使用Chrome 49.0.2623.87 m(64位)在Windows 7上进行测试.还可以使用Chrome 49重新编写OSX 10.11.2.
另外,我应该提到有时它显示真/真,有时真/假.您可能需要重新加载页面几次才能看到问题.我不确定,但调试工具(控制台)也可能需要打开.
非常感谢.
我有一个多线程C++插件,它做了一些后台处理,我需要定期回调我在NodeJS服务器上编写的Javascript函数.
我理解这涉及到使用uv_async_send(),因为它需要在主线程中执行,但到目前为止我还没有弄清楚如何去做.
有没有一个我错过的简单例子?
关于这里提供的答案:如何使用反向迭代器调用erase
++it当使用-std = c ++ 11在g ++ 4.8.4中编译时,以下结果导致分段错误(on ).我误解了答案吗?
std::map<int,int> testmap;
testmap[0] = 1;
for(auto it=testmap.rbegin(); it!=testmap.rend(); ++it) {
testmap.erase( std::next(it).base() );
}
Run Code Online (Sandbox Code Playgroud) 如果我在Chrome 55中打开两个单独的WebRTC本地视频流,并且我停止并启动第二个流三次,则第一个流中断(此后不再打开流).
https://jsfiddle.net/kqjmt7a0/1/
要轻松复制,请在Chrome 55中运行上面的小提琴,然后单击"重新启动vid2"三次.第三次单击它时,您会注意到:
具体来说,调用MediaStreamTrack :: stop()会搞乱Chrome(最终).注释掉以下内容可以解决问题:
var tracks = stream.getTracks();
for(var i = 0; i < tracks.length; ++i) {
tracks[i].stop();
}
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么,或者这只是一个Chrome错误?
笔记:
更新:
在进一步解决这个问题后,我更确信它只是一个Chrome bug.我输入了以下内容:
https://bugs.chromium.org/p/chromium/issues/detail?id=674965
我仍然希望得到关于我的代码是否有任何问题的反馈,这些代码可能会让问题变得棘手.
我有一个使用Nan用C++编写的Node.js插件.工作非常好.但是,我无法弄清楚如何让我的Node Javascript代码将任意数据对象(例如{attr1:42, attr2:'hi', attr3:[5,4,3,2,1]})传递给C++插件.
到目前为止,我通过调用JSON.stringify()我的数据对象然后在C++端解析字符串化的JSON来解决这个问题.
理想情况下,我想避免复制数据,只是获取对我可以访问的数据对象的引用,或者至少本地复制它并避免字符串化/解析...
任何帮助,将不胜感激!
我正在尝试使用https://github.com/gheja/trilateration.js在 Javascript 中进行 3D 三边测量 ,它似乎正在工作。然而,某些简单的情况应该会产生解决方案,但事实并非如此。例如:
var p1 = {x:69, y:0, r:69, z:0}
var p2 = {x:0, y:50, r:50, z:0};
var p3 = {x:0, y:80, r:80, z:0};
trilaterate(p1, p2, p3, false)
Run Code Online (Sandbox Code Playgroud)
这似乎是一个极其简单的例子,应该在 x:0,y:0 处产生一个解决方案,但该函数却告诉我没有解决方案。我是否误解了三边测量或函数中存在错误?
任何帮助,将不胜感激。
目前在Node中设置我的S3访问权限:
var AWS = require('aws-sdk');
AWS.config.region = 'us-west-1';
AWS.config.credentials = new AWS.SharedIniFileCredentials({profile: 'default'});
var s3 = new AWS.S3();
Run Code Online (Sandbox Code Playgroud)
现在我也想访问SES.不幸的是,SES在us-west-1上不存在,所以我不得不在不同的地区设置SES.
我该怎么办?如果我更改AWS.config,会影响我之前实例化的s3吗?
就像其他人一样,我正在努力支持 Chrome 中即将到来的第 3 方 cookie 更改。我的用户(其他域上的其他网站)将我的网页包含在 iframe 中。在我的页面中,我设置了一个 cookie(只有 iframe 需要在该父网站的上下文中看到该 cookie,因此实际上不是第 3 方 cookie)。
这在 Firefox 中工作正常(可能已经禁用了第 3 方 cookie),但是当在隐身模式下使用 Chrome 时,禁用第 3 方 cookie,我无法设置我的 cookie。
下面是一个例子。如果您重新加载父级,cookie 就会丢失(实际上它永远不会被设置,即使在重新加载之前也是如此)。Chrome 开发工具中没有警告,但您可以在“应用程序”选项卡中看到 cookie 从未被设置。
有什么想法为什么这在 Firefox 中有效,但在禁用 3rd party cookie 的 Chrome 隐身模式中无效?有办法让这个工作吗?
父页面(domain1.com):
<html>
<head>
<style>
iframe.myframe {
width: 800px;
height: 500px;
}
</style>
</head>
<body>
<iframe class="myframe" src="https://domain2.com/my_thing.html"/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
子页面(domain2.com):
<html>
<head>
<style> body{ background: blue; } </style>
</head>
<body>
<script>
let num = getCookie('num');
console.log('Pre-change: '+num);
num …Run Code Online (Sandbox Code Playgroud)