在我的自助服务终端应用程序中,为了确保在移出屏幕保护程序(通常通过条形码扫描仪或rfid阅读程序将其发送到PC)时不会丢失“已按下”字符,并确保屏幕显示回到瞬间,我用以下位的代码,用透明CUR光标文件一起,并禁用在主机操作系统所有的屏幕省电/省电选项。这适用于Chrome 12以及其他许多浏览器。我不认为有特定Chrome的代码 - 它只是最容易的事情,以自动启动进入亭模式。
通过INPUT元件迭代稀松比特被需要的,因为这些形式的部分将保持它们的默认(通常是白色)的背景。
如果您使用图像或彩色文本或其他此类对象,则需要弄清楚如何处理这些对象。我只是建立数据采集应用程序,因此屏幕上只有黑色的文字。将页面背景变成黑色会使整个屏幕变黑,并防止烧入。
这可以并且应该通过JS应用各种CSS位来完成,但它工作得很好,而且它全部位于代码中的一个位置,所以很容易粘贴到像这样的地方。
onkeydown fires unSS在体内,所以每次按下按键时都会重置计时器。
var ScreenSaver = 10; // minutes
SS(); // start the timer up
function unSS()
{
document.getElementById('thePage').style.background='White';
for (var i = 0; i < document.getElementsByTagName('INPUT').length; i++)
{
document.getElementsByTagName('INPUT')[i].style.background='White';
}
//put the cursor back.
document.getElementById('thePage').style.cursor = 'default';
ScreenSaver=10;
}
function SS()
{
ScreenSaver = ScreenSaver-1; //decrement. sorry for the vb-style. get over it.
if (ScreenSaver<=0)
{
document.getElementById('thePage').style.background='Black';
for (var i = 0; i < document.getElementsByTagName('INPUT').length; i++)
{
document.getElementsByTagName('INPUT')[i].style.background='Black';
}
//change the cursor to a transparent cursor.
//you can find the file on the web.
//Search for "transparent cursor cur download"
document.getElementById('thePage').style.cursor = 'url(transparentCursor.cur)';
}
setTimeout("SS();",60000); // fire the thing again in one minute.
}
...