小编sts*_*vik的帖子

canvas getContext("2d")返回null

我尝试了几种不同的方法,但我仍然遇到同样的错误.我之前已将图像加载到画布,但自从我几天前更新了Safari之后,我就遇到了错误.

我会发布我目前所拥有的内容,但我已尝试使用jQuery,html的onLoad属性等.

var cvs, ctx, img;
function init() {
   cvs = document.getElementById("profilecanvas");
   ctx = cvs.getContext("2d"); /* Error in getContext("2d") */
   img = document.getElementById("profileImg");
   drawImg();
}

function drawImg() {
   ctx.drawImage(img, 0, 0);
}

window.onload = init();
Run Code Online (Sandbox Code Playgroud)

ID正确并且对应于适当的canvas和img标记.但是,我一直在努力TypeError: 'null' is not an object (evaluating 'cvs.getContext'),似乎没有进一步.我确定这是一些ID10T错误,但我希望有人能给我一个线索,告诉我这是什么原因造成的?谢谢.

编辑:好的,所以这似乎<body onload="init()">现在使用.然而,它只显示偶尔,如果我尝试运行init()过的$(document).ready()或document.onload我仍然没有运气,并收到错误.有什么想法吗?

javascript html5 canvas html5-canvas

28
推荐指数
5
解决办法
5万
查看次数

学习Perl的建议?

我从小就开始编写简单的程序(大约是我第一台计算机的时候),并且多年来一直是程序员和开发人员.我在大学攻读计算机科学,但我学到的关于编程和计算机的大部分内容都是自学成才.现在,在各种*nix环境中工作更多,我发现自己遇到了Perl脚本太难以忽略的情况了.

学习Perl有什么好的资源吗?你学习语言基础知识的最快方法是什么?任何好的IDE /智能文本编辑器/工具可以作为训练轮来简化学习过程?

我真的愿意接受能够提高我理解力的任何提示/技巧/想法!

谢谢!

unix linux perl programming-languages

7
推荐指数
3
解决办法
1209
查看次数

这是在PHP for MVC中将URI与类/方法匹配的好方法

我是MVC的新手,所以这是我的第一次尝试,我相信你们可以给我改进,感谢任何提示或帮助!

下面是我为我的个人框架设计的路由器/调度程序系统,这是我第一次尝试使用MVC模式.

第一个代码块只是我的.htaccess文件,它通过我的index.php文件路由所有请求.

第二个代码块是我的"路由"数组,它将告诉Router对象,调用哪个类和方法以及任何ID或分页号(如果存在).

第三块代码是路由器类.

第四块就是运行这个类

因此,路由器类必须使用正则表达式来匹配URI与路由映射中的路由,理论上,这听起来像是一个包含正则表达式必须运行的50多个路由的列表时的糟糕性能,我应该这样做这不一样吗?我使用正则表达式的主要原因是匹配路由中存在的页码和ID号.

另外请不要只是告诉我使用框架,我这样做是为了更好地学习它,我这样学习得更好,只是不喜欢现在使用现有的框架,我研究了所有主要框架和一些不太常见的框架.已有的想法.

1)所以主要问题,做什么只是不正确?

2)有没有更好的方法来检测URI中的内容,而不是像我一样在数组上使用正则表达式,在高流量网站上考虑它?

3)由于所有内容都通过index.php文件进行路由,我将如何处理AJAX请求?

对不起,如果这令人困惑,我自己有点困惑!


.htaccess文件

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$   index.php?uri=$1    [NC,L,QSA]
Run Code Online (Sandbox Code Playgroud)

地图数组()

/**
 * Map URI to class/method and ID and Page numbers
 * Must be an array
 */
$uri_route_map = array( 
    //forums
    'forums/' => array(
        'controller' => 'forums',
        'method' => 'index',
        'id_number' => '',
        'page_number' => ''),

    'forums/viewforum/(?<id_number>\d+)' =>  array(
        'controller' => 'forums',
        'method' => 'viewforum',
        'id_number' => isset($id_number),
        'page_number' => ''),  

    'forums/viewthread/(?<id_number>\d+)' =>  array( …
Run Code Online (Sandbox Code Playgroud)

php regex model-view-controller performance uri

6
推荐指数
1
解决办法
3739
查看次数

PHP/MySQL:处理问卷输入

我有一个问卷,用户可以匹配类似的兴趣:40个类别,每个类别有3到10个子类别.每个子类别都有一个0 - 5的值,与他们对该子类别的兴趣程度有关(0甚至没有远程感兴趣,5是一个铁杆粉丝).让我们举一个类别,运动的例子:

<input type="radio" name="int_sports_football" value="0">0</input>
<input type="radio" name="int_sports_football" value="1">1</input>
<input type="radio" name="int_sports_football" value="2">2</input>
<input type="radio" name="int_sports_football" value="3">3</input>
<input type="radio" name="int_sports_football" value="4">4</input>
<input type="radio" name="int_sports_football" value="5">5</input>
Run Code Online (Sandbox Code Playgroud)

有这么多这些,我有一个表的兴趣类别,但由于大小,已经使用CSV格式的子类别值(坏的做法有很多原因,我知道).

现在,我没有资源来创建一个专门用于兴趣的整个数据库,并且在配置文件数据库中有40个数据表是混乱的.我一直在拉出CSV(看起来像0,2,4,1,5,1),爆炸它们,并按照我的意愿使用数字,这似乎效率很低.

如果它只是是/否我可以看到做掩盖(我在另一个地方做的 - 也许有一种方法可以使用6-ary值进行工作?).有没有其他方法可以有效地存储这种分类数据?

php mysql database-design

3
推荐指数
1
解决办法
1308
查看次数

PHP + SQL查询:选择枚举值

我正在遇到一个奇怪的情况,PHP执行SQL查询,也许有人可以透露一点:

我有一个查询说:

"SELECT COLUMN_TYPE 
 FROM INFORMATION_SCHEMA.COLUMNS 
 WHERE TABLE_NAME = $table 
 AND COLUMN_NAME = $column"
Run Code Online (Sandbox Code Playgroud)

查询应该返回一个字符串:enum('A','B'[,'C'...])当执行时(就像从命令行运行查询时那样.$table并且$column传递给创建查询的函数,并且在我的测试用例中是正确的 - 分别作为表和列存在.)在这种情况下,让我们设置$table = 'profile'和$column = 'gender'上面的SQL语句返回以下错误:

Unknown column 'profile' in 'where clause' in /registry/mysqldb.class.php on line 31
Run Code Online (Sandbox Code Playgroud)

第31行是一个缓存函数,用于在查询失败之前缓存查询,或在查询失败时触发错误.在其他所有情况下都可以正常工作.在发出请求时,我已连接到正确的数据库.

我的问题是:为什么'profile'被解释为一列并导致错误?

php mysql enums

0
推荐指数
1
解决办法
1197
查看次数