Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使window.onload函数在Jade模板语言中工作_Node.js_Express_Pug - Fatal编程技术网

Node.js 如何使window.onload函数在Jade模板语言中工作

Node.js 如何使window.onload函数在Jade模板语言中工作,node.js,express,pug,Node.js,Express,Pug,我不熟悉Jade和NodeJS express。我有一个简单的网页,可以加载带有div标记的jpeg。我希望能够有一个具有以下html和JS的响应图像映射,但无法让它工作 <div style="width:100%;"> <img id="img_ID" src="http://pindragon.social/images/landing.jpeg" usemap="#map" border="0" width="100%" alt="" /> window

我不熟悉Jade和NodeJS express。我有一个简单的网页,可以加载带有div标记的jpeg。我希望能够有一个具有以下html和JS的响应图像映射,但无法让它工作

<div style="width:100%;">
<img id="img_ID" src="http://pindragon.social/images/landing.jpeg" usemap="#map" border="0" width="100%" alt="" />

window.onload=函数(){
var ImageMap=函数(映射,img){
var n,
areas=map.getElementsByTagName('area'),
len=面积。长度,
坐标=[],
前一宽度=128;
对于(n=0;n

}

请注意,“脚本”前面不允许有空格 使用空格或制表符,但不能同时使用空格和制表符。杰德/帕格对此非常挑剔。 我不打算在这里发布代码,因为它使用制表符,不格式化

将“script.”放在layout.jade中“head”后面的一行,然后使用空格或制表符将window.onload JS正确缩进


将html作为jade标记放置在索引中。jade

请注意,在“脚本”之前不允许有空格 使用空格或制表符,但不能同时使用空格和制表符。杰德/帕格对此非常挑剔。 我不打算在这里发布代码,因为它使用制表符,不格式化

将“script.”放在layout.jade中“head”后面的一行,然后使用空格或制表符将window.onload JS正确缩进


将html作为jade标记放在index.jade

中,您能提供更多详细信息吗?在一个与哈巴狗相关的问题中,我通常希望至少有一些哈巴狗代码:如何在模板的第二个片段中包含列出的脚本?也许也能激发你为什么要使用帕格犬——从我在这里看到的,没有直接的需要。最后,请更详细地说明什么东西没有像您期望的那样工作-脚本只是没有被调用吗?或者它被称为,但表现出一些意想不到的行为?这就是我要求某人给出一个例子,说明如何正确地包含它。作为翡翠的新使用者,我甚至不知道它叫帕格。它在布局中的位置。我想是在“头”下面。作为一个新用户,它似乎是一个令人难以置信的坏名字“帕格”,因为扩展仍然是。jade“我可以加载上面的代码并看到它工作,但我不能让它工作使用帕格!我要补充的是,空格或制表符的要求似乎非常脆弱。“脚本”没有前面空格的要求也是让新用户绊倒的一个很好的方法。你可以在模板中的任何位置包括脚本,包括
头和
体标记。是的,Pug/Jade需要任何形式的缩进才能发挥作用——这是其语法的一部分。如果你觉得这些东西不舒服,我会说你可以放弃它,使用简单的HTML——从我在你的问题中看到的到目前为止,没有必要使用帕格。在
标记中嵌入JS代码的普通HTML文件就足够了。我的大多数问题似乎是空格与制表符和Vim之间的矛盾。你能提供更多细节吗?在一个与哈巴狗相关的问题中,我通常希望至少有一些哈巴狗代码:如何在模板的第二个片段中包含列出的脚本?也许也能激发你为什么要使用帕格犬——从我在这里看到的,没有直接的需要。最后,请更详细地说明什么东西没有像您期望的那样工作-脚本只是没有被调用吗?或者它被称为,但表现出一些意想不到的行为?这就是我要求某人给出一个例子,说明如何正确地包含它。作为翡翠的新使用者,我甚至不知道它叫帕格。它在布局中的位置。我想是在“头”下面。作为一个新用户,它似乎是一个令人难以置信的坏名字“帕格”,因为扩展仍然是。jade“我可以加载上面的代码并看到它工作,但我不能让它工作使用帕格!我要补充的是,空格或制表符的要求似乎非常脆弱。“脚本”没有前面空格的要求也是让新用户绊倒的一个很好的方法。你可以在模板中的任何位置包括脚本,包括
头和
体标记。是的,Pug/Jade需要任何形式的缩进才能发挥作用——这是其语法的一部分。如果你觉得这些东西不舒服,我会说你可以放弃它,使用简单的HTML——从我在你的问题中看到的到目前为止,没有必要使用帕格。在
标记中嵌入JS代码的普通HTML文件就足够了。我的大多数问题似乎是空格与制表符和Vim之间的矛盾。
window.onload = function () {
var ImageMap = function (map, img) {
        var n,
            areas = map.getElementsByTagName('area'),
            len = areas.length,
            coords = [],
            previousWidth = 128;
        for (n = 0; n < len; n++) {
            coords[n] = areas[n].coords.split(',');
        }
        this.resize = function () {
            var n, m, clen,
                x = img.offsetWidth / previousWidth;
            for (n = 0; n < len; n++) {
                clen = coords[n].length;
                for (m = 0; m < clen; m++) {
                    coords[n][m] *= x;
                }
                areas[n].coords = coords[n].join(',');
            }
            previousWidth = document.body.clientWidth;
            return true;
        };
        window.onresize = this.resize;
    },
    imageMap = new ImageMap(document.getElementById('map_ID'), document.getElementById('img_ID'));
imageMap.resize();
return;