我正在建立一个与客户聊天的网站,但是,我们在iPad(iOS 5)中遇到了音频问题.
目标实际上是支持IE7的iPad是首选.
我尝试过这些方法:
HTML5
<audio id="notification" preload="auto">
<source src="audio/notification.ogg" type="audio/ogg" />
<source src="audio/notification.mp3" type="audio/mpeg" />
</audio>
Run Code Online (Sandbox Code Playgroud)
用一些JavaScript
var el = document.getElementById('notification');
el.play();
Run Code Online (Sandbox Code Playgroud)
一些javascript函数我偷了某个地方,实际上是一个函数中的两个不同的方法.请注意脚本位于子目录中,因此路径正确.
function notify() {
var url = '../audio/notification.mp3';
var a = document.createElement('audio');
if(!!(a.canPlayType && a.canPlayType('audio/mpeg').replace(/no/, ''))) {
var sound = new Audio(url);
sound.load();
sound.play();
} else {
$('#notification').remove();
var sound = $('<embed id="notification" type="audio/mpeg" src="'+url+'" loop="false" hidden="true" autostart="true" />');
$(body).append(sound);
}
}
Run Code Online (Sandbox Code Playgroud)
这两种方法似乎都不起作用.难道我做错了什么?
我有一个包含类名的字符串,我希望获得一个常量并从该类调用(静态)方法.
<?php
$myclass = 'b'; // My class I wish to use
$x = new x($myclass); // Create an instance of x
$response = $x->runMethod(); // Call "runMethod" which calls my desired method
// This is my class I use to access the other classes
class x {
private $myclass = NULL;
public function __construct ( $myclass ) {
if(is_string($myclass)) {
// Assuming the input has a valid class name
$this->myclass = $myclass;
}
}
public function runMethod() {
// …Run Code Online (Sandbox Code Playgroud) 长话短说:我必须创建一个聊天功能,这似乎适用于除iPad(可能还有iPhone)之外的所有设备.我们的客户使用他们的iPad聊天,因此我尝试解决过去7个月的问题.
这是我花了多长时间来确定这个问题.
这个问题显然出现在iPad的浏览器中.我使用库jQuery运行JSON Ajax请求.请求很好,它们不包含错误.在某些时候,iPad根本不会运行Ajax请求.我不知道为什么,我找不到原因.记录每个Ajax请求,但在某些时候服务器不会收到任何请求.我已经问过无数次,客户是肯定的,他们只是触摸ipad以防止它被锁定.
我已将请求率降低到每分钟约15个请求,但这不起作用.
所以,我的问题是:是否有人知道为什么ipad在10-15分钟后突然停止发送Ajax请求?
在javascript中创建新的Image元素时,Google Chrome的内存工具(开发人员工具>时间轴>内存)自然会将其视为新的DOM元素.
在我的情况下,我最终得到了1500多个DOM元素,我希望摆脱它们.我已经尝试保存数组中的所有对象,并在我准备创建所有对象时在循环中删除所有对象,从而导致以下错误:
Uncaught TypeError: Cannot call method 'removeChild' of null
这表明Image对象没有出现在实际的DOM中.
var images = [];
var i, image;
for( i = 0; i < urls.length; i++ ) {
image = new Image();
image.src = urls[i];
}
// other stuff happens
for( i = 0; i < images.length; i++ ) {
// apparently this doesn't work because I'm not adding the image to my DOM
// images[i].parentNode.removeChild( images[i] );
// delete images
}
Run Code Online (Sandbox Code Playgroud)
有没有办法删除/删除/取消设置/处置Image对象?
我正在创建大量的粒子(确切地说是80.000)并且我已经设置了透明贴图,但并非所有粒子都是透明的.
我正在使用透明的PNG图像:
(它几乎不可见,但它没关系)作为材质图,虽然它显示了如下所示的黑色背景:

如果你仔细观察,一些颗粒很好地混合在一起(没有重叠的黑色边缘),尽管有些颗粒没有.可能是因为有太多重叠的透明物体或不应该是一个问题?
这是负责生成粒子的片段:
// load the texture
var map = THREE.ImageUtils.loadTexture('img/particle.png');
// create temp variables
var geometry, material;
// create an array with ParticleSystems (I need multiple systems because I have different colours, thus different materials)
var systems = [];
// Loop through every colour
for(var i = 0; i < colors.length; i++) {
// Create a new geometry
geometry = new THREE.Geometry();
// create a new material
material = new THREE.ParticleBasicMaterial({
color: colors[i],
size: 20,
map: map, …Run Code Online (Sandbox Code Playgroud) 我有一个HTML字符串,我用作jQuery输入文档.
// the variable html contains the HTML code
jQuery( html ).find( 'p' ).each( function( index, element ) {
// do stuff
});
Run Code Online (Sandbox Code Playgroud)
虽然,我不断得到图像不存在的错误(在我的变量中html).HTML中的图像具有相对URL,它与我主机上的图像不对应,所以很自然地找不到它们,所以我在控制台中出现404错误.
有没有jQuery方法来避免jQuery加载图像?如果没有,我将不得不找到所有图像并使用非jQuery替换src,这有点令人伤心,因为这正是jQuery派上用场的地方:p
编辑:
我会一步一步解释.
我有一个变量,html它包含来自另一个站点的一些HTML代码.我把该变量放在jQuery构造函数中,因为我想对该HTML执行操作.
jQuery( html );
此时我得到404错误,因为HTML源代码中的图像是相对的; 它们与我在主机上的图像不符.
所以,我要问的是,是否有一个设置或任何可以避免jQuery加载提供的源中的图像的设置.
谢谢.
我刚开始使用Aptana,我很享受.我喜欢默认的黑暗主题.

只有一件事.注意编辑是如何好看和黑暗的,但UI不是?显然,Aptana是基于Eclipse的,所以我一直在网上浏览Eclipse的UI的黑暗主题.
我找到了一个合适的答案:Eclipse IDE for Java - Full Dark Theme
当我尝试安装其中一个主题时,我收到一个错误:
Missing requirement: Eclipse Darker Theme 1.0.0.201302081116
(eclipse.themes.darker.feature.feature.group 1.0.0.201302081116)
requires org.eclipse.osgi.services 3.3.100' but it could not be found
Run Code Online (Sandbox Code Playgroud)
当然,我可以安装依赖项,但我不知道在哪里查看.
我只想让我的Aptana完全黑暗.我必须做什么?
我正在研究我的学校项目,我正在尝试使用PHP输出一个mp3文件,但显然它只输出一些损坏的文件,我不知道为什么.我浏览了整个网络以找到解决方案,但没有.
<?php
$filename = 'audio/1/1.mp3';
if(file_exists($filename)) {
header('Content-Type: audio/mpeg');
header('Content-Disposition: filename="test.mp3"');
header('Content-length: '.filesize($filename));
header('Cache-Control: no-cache');
header("Content-Transfer-Encoding: chunked");
readfile($filename);
} else {
header("HTTP/1.0 404 Not Found");
}
?>
Run Code Online (Sandbox Code Playgroud)
任何人都可以向我解释这个吗?那真是棒极了!
我有服务器问题.我正在运行本地服务器(用于开发),我已将本地服务器从MAMP更改为XAMPP.但是,在XAMPP上,cURL选项CURLOPT_TIMEOUT_MS或者CURLOPT_CONNECTTIMEOUT_MS给出了下一个错误:
警告:curl_setopt()期望参数2为long,给定字符串
这是因为PHP还是cURL版本?也许配置设置?
curl_setopt($this->ch, CURLOPT_CONNECTTIMEOUT_MS, 2500);
附加信息:
提前致谢.
编辑:似乎有一些关于错误和要设置的变量的混淆.该错误表明参数2无效.不是参数3.所以CURLOPT_CONNECTTIMEOUT_MS似乎是问题所在.
curl_setopt($this->ch, CURLOPT_CONNECTTIMEOUT_MS, 2500);
^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^
parameter: #1 #2 #3
Run Code Online (Sandbox Code Playgroud)
有趣的事实:var_dump(CURLOPT_CONNECTTIMEOUT_MS);显示string(25) "CURLOPT_CONNECTTIMEOUT_MS".就像错误状态一样,它是一个字符串而不是浮点数.
我做了一个小测试,允许您使用Three.js在 3D 环境中试验着色器。
场景中有一个显示着色器的球体。
我创建的演示着色器是一个非常简单的着色器,它使用 2D 噪声实现。球体的很大一部分保持黑色,我将其设置为透明。我希望球体的另一面也可见。所以我启用了透明度并将渲染面设置为双面。
material = new THREE.ShaderMaterial({
'uniforms': uniforms,
'fragmentShader': $('textarea#input-fragment').val(),
'vertexShader': $('textarea#input-vertex').val()
});
material.side = THREE.DoubleSide;
material.transparent = true;
Run Code Online (Sandbox Code Playgroud)
在这个例子中,错误更容易被注意到。
从顶部查看球体时,您只能从外侧看到着色器。从侧面看似乎有点不稳定,从底部看似乎很有效。
这些是不同的角度(顶部 - 侧面 - 底部):

这是我的片段着色器的重要部分:
void main() {
float r = cnoise(vNormal.yz * 2.0 + t);
float g = cnoise(vNormal.xz * -1.0 + t);
float b = cnoise(vNormal.xy * -2.0 + t);
// opacity ranges assumable from 0 - 3, which is OK
gl_FragColor = vec4(r, g, b, …Run Code Online (Sandbox Code Playgroud)