Гаджет-виджет для Windows. Содержимое HTML не полностью отображается
Вложений: 3
Здравствуйте, уважаемые.
Помогите, пожалуйста, разобраться. Написал код на HTML с вставками из библиотеки d3 на JS. Файл называется HelloWorld.html. Сама веб-страница работает корректно. С помощью d3 создаю динамичный график. Далее пытаюсь всё это упаковать в гаджет и тут возникает проблема: в виджете отображается только текст, а график, нарисованный с помощью d3 ну никак. Не знаю, как быть. GIMAGE Protocol попробовать может внедрить. Но разве к графику применимо сие? File1 "HelloWorld.html" <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Тест</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <style type="text/css"> body { margin: 0; width: 500px; height: 500px; font-family: verdana; font-weight: bold; font-size: 10px; } #gadgetContent { margin-top: 10px; width: 500px; vertical-align: middle; text-align: center; overflow: hidden; } </style> <script src="http://d3js.org/d3.v3.min.js" charset="UTF-8"></script> </head> <script type="text/jscript" language="jscript"> function init() { var oBackground = document.getElementById("imgBackground"); oBackground.src = "url(images/background.png)"; var chart_area = d3 .select("body") .append('div') .classed('chart_area', true) ; var RANDOM_MIN = 0, RANDOM_MAX = 100; function irand(lo, up) { return Math.floor(Math.random()*(up-lo+1)+lo); } var data = []; for (var i=0; i<10; i++) { data.push(irand(RANDOM_MIN, RANDOM_MAX)); } chart_area.selectAll('div') .data(data) .enter() .append('div') .classed('stolbiki', true) .style('background-color', function(d, i) { return 'hsl(1800,50%,'+ (90-d/3) + '%)'; }) .style('height',20 + 'px' ) .style('margin', '10px 20px') .style('width', '0PX') .transition() .duration(1250) .style('width', function(d,i) { return d + 'px'; } ) .text(String) ; } </script> <body onload="init()"> <g:background id="imgBackground" style="position:absolute; z-index:-1; top:0; left:0;" opacity="80"> <span id="gadgetContent">Text</span> </g:background> </body> <br></br> <br></br> </html> File2 "gadget.xml" Код:
<?xml version="1.0" encoding="utf-8" ?> |
Перефразирую.
Во что надо упаковать код ниже, чтобы можно было просто в манифесте Gadget.xml дать ссылку на данную html страницу и она отобразилась корректно (так же, как в браузере)? <html> <head> <script src="http://d3js.org/d3.v3.min.js" charset="UTF-8"></script> </head> <body charset="koi8-r"> <script> var chart_area =d3.select("body").append('div').classed('chart_area', true); var RANDOM_MIN = 0, RANDOM_MAX = 100; function irand(lo, up) { return Math.floor(Math.random()*(up-lo+1)+lo); } var data = []; for (var i=0; i<10; i++) { data.push(irand(RANDOM_MIN, RANDOM_MAX)); } chart_area.selectAll('div').data(data).enter().append('div').classed('stolbiki', true) .style('background-color', function(d, i) { return 'hsl(1800,50%,'+ (90-d/3) + '%)'; }) .style('height',20 + 'px' ) .style('width', function(d,i) { return d + 'px'; } ) .text(String); </script> </body> </html> |
Часовой пояс GMT +3, время: 01:56. |