我最近进入了我的Google帐户并注意到它不仅说明了我当前正在使用哪种浏览器 - 它还知道我正在使用的计算机的确切名称.Google如何获取这些信息?
我一直在浏览互联网的javascript方法,应该给我计算机名称或类似 - 但我相信Javascript无法读取这些数据.如果对于任何事情,该站点应该包含一个执行和获取数据的小型Java应用程序,但这通常需要我通过单击模式打开框来接受java在浏览器中运行.
然后我想也许他们在浏览器中执行了一些C代码 - 但他们如何做到这一点并访问浏览器"sandbox"之外的数据?我的第三个理论是,当我安装谷歌Chrome浏览器时,它能够传递这些细节 - 但是当我注意到它也知道我的iPad的确切名称时它没有任何意义,尽管我还没有安装任何谷歌应用程序在我的ipad上.(谷歌地图,gmail,chrome或其他任何东西).
2016年1月25日更新
我已经给了一些额外的想法,似乎偶然发现了其他事情.我使用node.js或Flash进行了可能的解决方案,但我记得Google用Python编写了所有内容,这让我觉得如果使用Python就足够简单了.我发现这篇文章:我如何使用Python获取系统主机名?并认为这可能是谷歌的一种方式.我不知道当你编写一个网站时这是否仍然可以实现,并且这也是一个基于浏览器的方法(请注意,我不是任何级别的Python程序员).
我想在加载特定div内容时为我的网站添加其他脚本和样式.我首先定义脚本或样式表的路径,然后创建一个元素.此后,我将元素附加到HTML中的head标记.
但是我想要一种方法来查看脚本或样式表是否已经附加,然后再添加它.附加已经存在的脚本或样式表是愚蠢的.
问:如何使用javascript检查head标签中是否已存在脚本,如果没有,则附加该元素?
编辑
我根据@KernelPanik的答案制作了一个函数.它还没有工作,但希望它会.该功能目前有问题:我的脚本追加功能不起作用
我一直在网上搜索我的全屏javascript在Safari中不起作用的原因,但在webkit浏览器Chrome中有效.似乎safari不支持element.ALLOW_KEYBOARD_INPUT附加组件webkitRequestFullScreen.
function cancelFullScreen(el) {
var requestMethod = el.cancelFullScreen || el.webkitCancelFullScreen || el.mozCancelFullScreen || el.exitFullscreen;
if (requestMethod) { // cancel full screen.
requestMethod.call(el);
} else if (typeof window.ActiveXObject !== "undefined") { // Older IE.
var wscript = new ActiveXObject("WScript.Shell");
if (wscript !== null) {
wscript.SendKeys("{F11}");
}
}
}
function requestFullScreen(el) {
// Supports most browsers and their versions.
var requestMethod = el.requestFullScreen || el.webkitRequestFullScreen(el.ALLOW_KEYBOARD_INPUT) || el.mozRequestFullScreen || el.msRequestFullScreen;
if (requestMethod) { // Native full screen.
requestMethod.call(el);
} …Run Code Online (Sandbox Code Playgroud) 我已经专门用一个服务器来维护Memcached和存储会话,这样我的所有服务器都可以毫无困难地在同一个会话上工作.
但不知怎的,我想我可能误解了Memcached关于PHP会话的可能性.
我认为我能够站在Apache 1上a.domain.com并创建一个会话,例如$_SESSION['test'] = "This string is saved in the session"然后转到Apache 2 b.domain.com或者c.domain.com只是继续会话并输入echo $_SESSION['test'];并输出字符串.
它没有,但我确信有人告诉我,如果你有多个网络服务器来共享同一个会话,memcached将是一个很好的工具.
我做错了什么?

顺便说说.我们非常需要一个完整详细的教程或电子书来描述如何基于Memcached设置服务器,使用php,构建集群等.
在我的php.ini文件中,它说:
session.save_path = "192.168.100.228:11211"
教程告诉我不要定义协议,并且已将ip地址提供给Apache 3- memcached Server
这是phpinfo()的图像

域中session.cookie_domain没有被调用,domain但它是一个.local.它已针对此图像进行了更改.
编辑:
仅供参考.当我使用简单的基于Memcached的PHP命令时 - 一切都很完美.但不知何故,当我尝试保存会话时,memcached服务器不会存储该项目.
这有效:
<?php
$m = new Memcached();
$m->addServer('192.168.100.228', 11211);
$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));
/* expire 'object' key in 5 minutes */
$m->set('object', new stdclass, time() + 300); …Run Code Online (Sandbox Code Playgroud) 我不知道在网络应用程序中是否有javascript可访问的元数据,以告诉iPhone有哪种颜色.基本上我想要做的是检测iPhone的颜色,然后使用与颜色相关的样式表.

编辑忘了问题.
有没有办法检测iDevice的颜色?
我有这个我在photoshop中制作的图像,我想要一种方法来使用HTML5 Canvas重新创建它,这样javascript就可以创建相同的图像(或类似的)..它会使页面加载更快,因为没有图像必须也可以下载.
这是一个非常简单的形象.三种不同的颜色模糊或放置为渐变(我不知道该怎么做),然后从底部淡出的白色渐变到透明后可能是60px.我已经看到使用canvas元素实现了许多令人难以置信的事情,每次都是相同的图像,没有动画.此外,我希望它在窗口调整大小时自动缩放.
有谁知道如何创造这样的东西?

我一直在网上搜索模糊画布图像的简单方法.我认为很容易找到有关如何编程高斯模糊函数的信息,但每次我发现某些东西时,它总是包含许多不需要的函数,如动画等等.我想要的只是take an image- > draw it in canvas- > blur image- > output image to data- > apply the data to a div element- >then delete the canvas element.
我看到这个关于运动模糊的一个:更好的画布运动模糊这不需要那么多代码.我如何做类似的事情,但在高斯模糊而不是运动模糊?
我一直在研究webApp,它应该只能通过使用AJAX来执行任务.它似乎工作得很好,但我遇到了一个问题,因为我没有Session在公共站点上存储变量.
我的登录程序类似于iCloud.您到达一页要求登录.您的登录使用AJAX发送到服务器并返回true或false.如果为true,则登录框将消失,您已准备好使用应用程序.

当您查看上面的图像时,您将看到两个绿色框作为完全相同的站点,没有任何URL刷新或任何东西.它只是同一页面.
粉红色框表示尚未注册的Apache服务器Sessions.我的会话类已经使用这个session_set_save_handler想法构建.
session_set_save_handler(
array($this, 'open'),
array($this, 'close'),
array($this, 'read'),
array($this, 'write'),
array($this, 'destroy'),
array($this, 'gc')
);
Run Code Online (Sandbox Code Playgroud)
我似乎无法找到公共站点在pink没有会话ID的情况下在服务器上请求数据的方法.有人能告诉我这个想法背后的session_set_save_handler想法,好像我6岁了吗?我已经阅读了PHP手册了解详细信息,但它确实让我感到困惑.
如果有人知道这种沟通方法如何正常工作,请告诉我.所有Apache服务器都通过LAN网络连接,并且能够进行通信.此外,他们都可以访问Session ClassApache include Library中的相同内容.
我想在jQuery中创建一个动画或者更好的纯javascript,这使得div"悬挂".我附上了一个动画gif,显示动画.我不知道如何重新创建这个,如果它是我可以使用现有的jquery缓动/动画或javascript + css动画或如何.我也考虑过画布,但这会限制我操纵内容等的能力.

结果:
感谢@peirix帮助我完成CSS动画.这是我希望实现的结果.http://jsfiddle.net/zeg61pb7/7/
CSS
#box {
width:30px;
height:30px;
position:absolute;
top:100px;
left:100px;
text-indent: 90px;
background-color:#aaaaaa;
transform-origin: top center;
-webkit-transform-origin: top center;
-webkit-animation: dangle 2s infinite;
-webkit-border-top-left-radius: 50%;
-webkit-border-top-right-radius: 50%;
-moz-border-radius-topleft: 50%;
-moz-border-radius-topright: 50%;
border-top-left-radius: 50%;
border-top-right-radius: 50%;
}
#box:after {
position: absolute;
height: 5px;
width: 5px;
background: #aaaaaa;
top: -4px;
left: 12px;
content: '';
border-radius: 50%;
}
.dims {
position: absolute;
height: 10px;
width: 10px;
background: #aaaaaa;
top: 125px;
left: 110px;
border-radius: 50%;
-webkit-animation: movee 2s infinite;
} …Run Code Online (Sandbox Code Playgroud) 我当前的测试涉及一个intersectionobserver,它使用带有当前滚动位置的iframe postMessage 来转换iframe 中的3d 背景图像。但这会产生很多抖动,在生产中可能会延迟,我可以看到这种方法存在更多问题。根据我在 Google 的网络开发人员工具中玩弄的理解,广告使用视差来使内容响应滚动位置,但是 Google 是否依赖 postMessage 来实现这一点,或者他们如何做才能使内容流畅固定背景和内容响应父窗口滚动事件的体验?
Some code example
Run Code Online (Sandbox Code Playgroud)
据我了解,使用的组件称为视差,可在Google Web Designer 中使用
关于固定背景,我知道iOS不支持背景附件:固定,为什么它必须是一些基于JS的功能。然后由我相信的父窗口中的intersectionobserver触发。如果 Google 广告完全依赖父窗口来提供任何信息,或者一切都从 iframe 内部进行管理 - 我不知道。但我想听听是否有人知道这些技术及其背后的工作,因为这看起来非常简单,但对于像我这样的凡人来说却是非常难以实现的。