我正在开发一个交互式 Web 应用程序,目前设置在http://picselbocs.com/projects/goalcandy(用户:demo@demo.com,密码:demo)。它允许您将包含图像和/或文本的项目从左侧边栏中拖到右侧的工作区中,并调整它们的大小/编辑它们等。
我已经设置了一个onblur事件处理程序以在新创建的对象失去焦点时触发(至少在理论上),并且出于测试目的,该处理程序只是进行alert()调用。问题是处理程序根本没有被触发。Bellow 是用于创建这些新对象的一段代码:
obj.id = 'mesh-obj-'+current_object_id;
jqObject
.attr('id',obj.id)
.attr('item_no', current_object_id)
.removeClass('dragged transparent tpl-obj no-user-select')
.addClass('mesh-obj')
.css({
'z-index' : current_z_index,
'left' : obj.position.left - mesh.position.left - mesh.borderWidth,
'top' : obj.position.top - mesh.position.top - mesh.borderWidth,
'right' : 'auto'
})
.on("focusout blur", function(event){
alert('object lost focus');
})
.appendTo('#mesh');
Run Code Online (Sandbox Code Playgroud)
模糊事件是否仅针对表单输入或任何 HTML 标签触发?如果是后者,那我做错了什么?
如果我使用初始大小[w1,h1]创建一个Raphael.js对象的图像,然后使用该transform()方法缩放它,我将如何检索它的新大小[w2,h2]?因为调用image.attr("width")返回w1,初始宽度,而不是转换后的宽度.
我知道你可能会说我应该简单地将w1和h1与缩放因子相乘,但是大多数时候,也会应用旋转变换,这会让事情变得更加麻烦.
简而言之,Raphael.js中是否有一个方法可以检索对象的正确大小,而不管可能应用于它的任何转换?
我从stackoverflow中选取的一个简单的PHP脚本生成一个透明背景的PNG,在其上写入一些文本,然后直接将其输出到客户端浏览器:
$font = 25;
$string = 'My Text';
$im = @imagecreatetruecolor(300, 300);
imagesavealpha($im, true);
imagealphablending($im, false);
$white = imagecolorallocatealpha($im, 255, 255, 255, 127);
$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im, 0, 0, $white);
$lime = imagecolorallocate($im, 204, 255, 51);
imagettftext($im, $font, 0, 0, 30, $red, "fonts/tt0588m_.ttf", $string);
header("Content-type: image/png");
imagepng($im);
imagedestroy($im);
Run Code Online (Sandbox Code Playgroud)
范围是获得一个简单的服务,该服务基于通过URL传递给它的参数来提供图像,例如Google Charts(例如,这个QR码图像).
到目前为止,这么好,除非我点击上面代码生成的图像并想保存它,浏览器不会将其识别为PNG图像,而是PHP脚本(另存为类型选择器有此选项仅作为Google图表示例,其中资源被明确标识为PNG文件.
如何通过浏览器实现这种正确的资源识别?
使用imagettftextPHP GD库中的函数,只能绘制左对齐到图像上的文本.至少看起来似乎,也许我错过了一些东西.
如何控制绘制到图像上的文本的对齐方式?即左/中/右(/对齐 - 没必要,但有用)
我应该提一下,当绘制的文本包含多行时,对齐是可见的(例如"bla bla bla/n和另一行bla.").
developers我设立的IAM 小组的政策如下:
但是,启动新实例将不起作用.在该组中的用户选择与其关联的密钥对之后,即到达最后一步,他们在下一页上得到以下消息:
发射失败
您无权执行此操作.编码授权失败消息:WZzytnkJ4T3-nkMYslM ...
根据这些政策,是什么阻止开发人员启动新实例?
考虑以下代码:
var x = 0;
do {
$.ajax({
type: "POST",
url: someurl,
dataType: 'xml',
data: xmlString,
success: function(xml) {
x++;
}
} while(x<10);
Run Code Online (Sandbox Code Playgroud)
当然,这不起作用,因为将向“someurl”发出数千个请求,那么我将如何更改此代码以使条件do while取决于异步 HTTP 请求的回调?换句话说,如何让 do-while 循环仅在调用请求回调时继续?因此只会进行 11 次迭代,而不是数千次。
尽管我努力寻找一个关于如何为使用PHP构建的Web应用程序建立安全的单一入口点架构的教程,但我还是找不到一个好的教程.谁知道,也许我的搜索查询很糟糕......看看Laravel的代码似乎是一个好主意,但这是一个让你的头脑旋转的好方法.那里有太多让我理解的东西.
话虽如此,我将如何创建这样一个既适用于应用程序又易于安全(例如防止本地文件包含)的架构呢?
拥有PHP和Javascript编程的背景,在某些情况下,有时很难围绕C和C编译器的行为.我刚刚遇到的一种情况(编程AVR ATmega16微控制器)是将变量与定义的常量进行比较,这显然不起作用:
#define SYS_STATE_IDLE 0;
//...
char systemState = SYS_STATE_IDLE;
/...
// Main function body
int main(void) {
//...
for(;;) {
// Determine if a new key was pressed
if (keyPressed()) {
switch (systemState) {
case SYS_STATE_IDLE:
break;
default:
break;
}
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
编译器(AVR GCC)在第一个引发以下异常case:
../SunTrackerMainController.c:103: error: expected ':' or '...' before ';' token
../SunTrackerMainController.c:103: error: expected expression before ':' token
Run Code Online (Sandbox Code Playgroud)
我也试过这if句话:
if (systemState == SYS_STATE_IDLE) {
// whatever
}
Run Code Online (Sandbox Code Playgroud)
但结果基本相同:
../SunTrackerMainController.c:109: error: …Run Code Online (Sandbox Code Playgroud) javascript ×4
jquery ×3
php ×3
gd ×2
ajax ×1
amazon-ec2 ×1
c ×1
constants ×1
do-while ×1
events ×1
imagettftext ×1
laravel ×1
literals ×1
onblur ×1
png ×1
raphael ×1
svg ×1
url-routing ×1