Могу ли я рекомендовать библиотеку dom-to-image , которая была написана исключительно для решения этой проблемы (я являюсь сопровождающим). Вот как вы его используете (еще несколько здесь ):
var node = document.getElementById('my-node');
domtoimage.toPng(node)
.then (function (dataUrl) {
var img = new Image();
img.src = dataUrl;
document.appendChild(img);
})
.catch(function (error) {
console.error('oops, something went wrong!', error);
});
I've found an hack to set the icon.
Prepare an icon file icon.ico and an hta file source.hta with the following contents:
<HTML>
<HEAD>
<SCRIPT>
path = document.URL;
document.write(
'<HTA:APPLICATION ID="oHTA" APPLICATIONNAME="myApp" ICON="'+path+'">');
</SCRIPT>
</HEAD>
<BODY SCROLL="no">
Hello, World!
</BODY>
</HTML>
Open a command prompt and type:
copy /b icon.ico+source.hta iconapp.hta
That will concatenate the icon and hta into a single file.
In my test case Internet explorer skipped over the icon data and display the HTML correctly.
The path of the icon is then set to that of the .hta file itself using javascript and the icon is loaded.
I have tested this on Windows XP SP3, Internet explorer 8.
Вполне возможно... существует способ встроить изображения непосредственно в файл HTML, который может работать на этот http://www.sveinbjorn.org/news/2005-11-28-02-39-23
return Story.objects.filter(user=request.user.id).order_by('-create_date').values('description')
– Furbeenator
22 May 2012 в 15:26
Я не забываю видеть это looong время назад:
<img src="data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7"width="16" height="14" alt="embedded folder icon">
я никогда не пробовал его сам все же.
IE не поддерживает данные URIs, таким образом, Вы оказываетесь перед необходимостью использовать внешний файл, если Вы используете тег img.
единственная вещь, о которой я могу думать, состоит в том, чтобы использовать VML, который был вокруг начиная с IE5. Это - подобный SVG формат векторного изображения, который может использоваться встроенный. Например, потяните что-то с помощью этот редактор VML и нажмите "Get code". Можно шлепнуться это в HTA. Я не знаю ни о чем, что преобразует Ваше изображение в VML непосредственно, но я полагаю, что существует способ экспортировать в VML от некоторых Продуктов Office.
Это - довольно неправдоподобный ответ, но Вы могли встроить значок, как base64-закодировано XML в HTA, затем используйте JavaScript onload и сохраните файл значка к временному местоположению. Объект ActiveX MSXML.DomDocument
может закодировать и декодировать base64 узлы.
Как только вам понадобится < iframe
> или другое диалоговое окно HTML, вам все равно понадобятся дополнительные файлы. Как правило, вы обнаружите, что файлы .CSS и .VBS, отделенные от .HTA, значительно упрощают программирование и поддержку любого нетривиального HTA.
Одна альтернатива для того, чтобы сделать это как «единый EXE», - обернуть все вверх как самораспаковывающийся архив или через IExpress. Когда пользователь «запускает вашу программу», он извлекает все из вашего архива во временный каталог и запускает элемент по вашему выбору.
Существуют также сторонние альтернативы, такие как HTMLApp .
Рассмотрите возможность использования одного из приложений в System32 для вашего значка.
Это не изменит значок для файла HTA, который находится на рабочем столе, но после его запуска он добавит немного индивидуальности на панель задач и тому подобное.
Я часто использую следующее, чтобы добавить немного очарования моим HTA.
<hta:application icon="magnify.exe" />
Я не верю, что можно использовать значки из библиотеки, просто откройте System32 в проводнике и измените его можно просмотреть в виде значков и посмотреть, есть ли какие-нибудь значки, которые вам вообще понравятся.