【问题标题】:Displaying HTML in NodeJS在 NodeJS 中显示 HTML
【发布时间】:2014-09-18 23:07:52
【问题描述】:

我需要显示来自`items`.`img`的<img src="http://my.pic/test/rg/pict.png" />

但是当res.write(rows[0].img, 'utf8');,

我在浏览器中看到:

<img style="display: none !important;" src="http://my.pic/test/rg/pict.png" />

如何修复style="display: none !important;"?

 express = require('express'), app = express();
 var mysql = require('mysql');

 app.listen(8080);

 mysql.connect = function(req, res, next){
    var connect = mysql.createConnection({
    host     : 'localhost',
    user     : 'person',
    password : 'ppasw',
    database : 'db1'
    });

  return connect;
 }

server.get(new RegExp('/img'), function(req, res, next){
var db =mysql.connect(); 

 db.connect();
 db.query("use `bd1`");
 db.query("SELECT `img` FROM `items` WHERE `id`='" +    intval(req.query.id) + "'",   

   function (err, rows, fields) {

     res.setHeader("Content-Type", "text/html");
     res.write(rows[0].img, 'utf8');
     res.end();

   });
      db.end();
});

----* 我发现问题 - Adblock 插件。

【问题讨论】:

    标签: javascript html css node.js


    【解决方案1】:

    你能在 res.write 部分之前添加这个调试代码吗?

    console.log(rows[0].img)
    

    我最好的猜测是样式属性已经在数据库中了。

    我的第二个最佳猜测是,您的浏览器中可能运行了一些隐藏损坏图像的 javascript。

    【讨论】:

    • 在DB<img src="http://my.pic/test/rg/pict.png" />为什么是显示样式?我不明白
    • 在 chrome 中,您可以右键单击您的 html 页面,然后选择“查看源代码”并检查图像在没有应用 javascript 的情况下的外观吗?
    • 我需要做的才能显示没有style="display: none !important;"
    • 我认为有一些 javascript 在浏览器中添加了 style="display: none !important;" 部分。如果您可以发布整个 html,我们可能会弄清楚发生了什么。如果没有更多信息,我无法为您提供帮助。
    • 那么您可能安装了一个隐藏损坏图像的插件。 http://my.pic/test/rg/pict.png直接放地址栏有图片吗?
    【解决方案2】:

    根据数据库上的信息,您可能需要构建 HTML。如果您只是将图像的 URL 放在那里,它就无法正常工作。您可能需要执行以下操作:

    res.write('<html><body><img src="' + rows[0].img + '" /></body></html>');
    

    如果数据库已经存储了所有的 HTML(我建议不要这样做)并且您没有任何扩展来隐藏损坏的图像,那么您将不得不使用一些客户端 Javascript 来取消隐藏图像。

    【讨论】:

    • var dc = decodeURI(text); var body = '&lt;html&gt;&lt;body&gt;' + dec + '&lt;/body&gt;&lt;/html&gt;'; res.setHeader("Content-Type", "text/html"); res.write(body, 'utf8'); 显示&lt;img src="http://my.pic/test/rg/pict.png" style="display: none !important;"&gt;
    • 如果您在浏览器中转到my.pic/test/rg/pict.png,它是否正确显示?
    猜你喜欢
    • 2014-02-09
    • 2018-03-02
    • 1970-01-01
    • 2017-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多