昨天早上给yyidea.com的论坛平台增加了phpwind论坛里以前公布的运行代码功能,发现这个代码在chrome下运行会发生跳转,转回论坛原帖。我习惯了用chrome,这样无法运行带给我不方便。因为我自己不会js,只能找会的朋友咨询;不过问了几个做前端的写程序的,都说不会,让我十分郁闷。晚上在家,怎么想都不甘心,搜索资料的时候看到蓝色理想,隐约记得它的运行代码在chrome下是有效的,两者能否整合呢?

找来双方的js进行对比,看我是看不懂,但是两个代码有什么一样和不一样还是能分辨的。以下就以运行这块的js进行说明,一个是蓝色理想的:

function runCode(obj) {
var winname = window.open('', "_blank", '');
winname.document.open('text/html', 'replace');
winname.opener = null // 防止代码对论谈页面修改
winname.document.write(obj.value);
winname.document.close();
}

另一个是pw论坛上某帖子里的:

function run_Code(code)
{
var pop=window.open("about:blank","");
pop.document.writeln(code);
pop.location.reload();
}

里面有几个主要差别:runCode和run_code,(obj)和(code),winname和pop;至于等号后面和括号里的东西,多和功能相关,不作考虑。细心的会发现,在运行代码里也有对应的obj或code字眼。开始的时候,我尝试的是直接把蓝色理想的js换上,然后修改bbscode.php里的所需要修改的代码,不过那里对不懂的人来说过于复杂,尝试了几次比如把code替换成obj之类都失败了,我还是回头看上面两段js。

尝试了几次,把蓝色理想的代码里的obj换成code,把winname换成pop,似乎就成了。

于是就出现了这篇总结:《给phpwind7.2.3加上运行代码功能》,其实,我对这个还是不知其所以然,依旧看不懂,但是我已经达到我的目的,实现了我想要的功能。

一些人不是不会,只是懒得帮你寻找和调试而已(这也无可厚非,需要花时间,非亲非故又没钱收,干吗帮你?);自己不会,花钱又觉得心疼,未必等于不能去做;或许走的路和时间会多些,但终究是为了达到自己的目的:其实就一个“试”字。