2017-08-28 68 views
0

我想仅在1280 x 800分辨率的表格中显示图像(可以是任何尺寸),它不会在其他屏幕上显示。HTML仅适用于特定分辨率的图像

现在我在身体内使用<img>元素,如果图像很小,它不会填满屏幕,如果图像很大,它会将其显示在屏幕外。

因此,HTML是这样的:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="UTF-8"> 
    <title>Mapa</title> 
    <script type="text/javascript" src="js/jquery-3.2.1.min.js"></script> 
    <script src="/libs/qimessaging/1.0/qimessaging.js"></script> 
    <script type="text/javascript" src="js/senaletica.js"></script> 
    </head> 
    <body> 
    <img id="mapa" alt="mapa" src=""> 
    </body> 
</html> 

和JavaScript:

$('document').ready(function(){ 

    var session = new QiSession(); 

    session.service("ALMemory").done(function (ALMemory) { 
     ALMemory.subscriber("PepperQiMessaging/totablet").done(function(subscriber) { 
      subscriber.signal.connect(toTabletHandler); 
     }); 
    }); 

    function toTabletHandler(value) { 
     var imgMap = $('#mapa'); 

     imgMap.attr('src', 'data:image/png;base64,' + value); 
     imgMap.width($('window').width()); 
     imgMap.height($('window').height()); 
    } 
}); 

我不此刻使用任何CSS。

+0

你必须使用CSS为此处理图像宽度 –

回答

2

window是一个实际的JavaScript实体,不应该被引用,然后使它成为一个字符串。从'window'删除引号将解决您的问题。

见下段:

$(document).ready(function(){ 
 

 
    function toTabletHandler(value) { 
 
     var imgMap = $('#mapa'); 
 

 
     imgMap.attr('src', 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSd8cAJmOsrWimMAMpTAFOPURbw4q7uDKKxau1nimZ4V-usMb0w'); 
 
     imgMap.width($(window).width()); 
 
     imgMap.height($(window).height()); 
 
    } 
 
    toTabletHandler(5); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<body> 
 
    <img id="mapa" alt="mapa" src=""> 
 
    </body>

+0

请问这个地址只有在特定的屏幕尺寸/分辨率显示的问题?这与原帖不存在真正的区别。也许澄清你做了什么。 –

+1

只需删除'single_quote'即可解决问题。 –

+0

@JonP它在'width'和'height'的jQuery函数中删除了'window'的引号,并且没有引号,因为在JS中'window'是一个现有变量,它指向设备的窗口。用引号寻找一个''html标签,它不存在。 – albert