Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
var CloneObject = (function() {
var F = new Function();
return function(Obj) { F.prototype = Obj || { }; return new F(); };
})();
<?xml version=«1.0» encoding=«UTF-8»?>
<applet name=«HBaseUI» type=«mapplet»>
<settings name=«HBaseUISettings»></settings>
<content name=«HBaseUIContent»>
<target name=«HBaseUICanvas» type=«MapUIContainer» visible=«true» />
<hypertext targetName=«HBaseUICanvas»><![CDATA[
<div style=«padding: 16px;»><table>
<tr><td>
<input id=«zoomin» type=«button» style=«width: 32px; height: 32px» value=«+» />
</td><td>
<input id=«top» type=«button» style=«width: 32px; height: 32px» value=«N» />
</td><td></td></tr><tr><td>
<input id=«left» type=«button» style=«width: 32px; height: 32px» value=«W» />
</td><td>
<input id=«center» type=«button» style=«width: 32px; height: 32px» value=«C» />
</td><td>
<input id=«right» type=«button» style=«width: 32px; height: 32px» value=«E» />
</td></tr><tr><td>
<input id=«zoomout» type=«button» style=«width: 32px; height: 32px» value=«-» />
</td><td>
<input id=«bottom» type=«button» style=«width: 32px; height: 32px» value=«S» />
</td><td></td></tr></table></div>
]]></hypertext>
</content>
<component name=«HBaseUIComponent»>
<complexscript>
<script name=«Main» type=«JavaScript» ver=«1.0.0.0»><![CDATA[
function HMain(oInstance) {
// Получаем ссылку на базовое приложение Карты.
var oMapInstance = this.GetImport(«HMap.Base»);
// Прикрепляем уже готовый html шаблон в область вывода интерфейса для карт.
oMapInstance.Add2UIContainer(oInstance.GetInstance().GetTarget(«HBaseUICanvas»));
// Назначаем обработчики событий для каждого элемента.
var oGrid = oMapInstance.oGrid;
var oDocument = this.GetDocument();
function GE(sId) { return oDocument.GetElementById(sId); }
GE(«zoomin»).onclick = function() { oGrid.ZoomIn(); }
GE(«zoomout»).onclick = function() { oGrid.ZoomOut(); }
GE(«left»).onclick = function() {
oGrid.MoveTo(oGrid.nPosX + 300, oGrid.nPosY);
}
GE(«right»).onclick = function() {
oGrid.MoveTo(oGrid.nPosX — 300, oGrid.nPosY);
}
GE(«top»).onclick = function() {
oGrid.MoveTo(oGrid.nPosX, oGrid.nPosY + 300);
}
GE(«bottom»).onclick = function() {
oGrid.MoveTo(oGrid.nPosX, oGrid.nPosY — 300);
}
GE(«center»).onclick = function() {
var X = (oGrid.nCellWidth * oGrid.nZoom — oGrid.nGridWidth) / 2;
var Y = (oGrid.nCellHeight * oGrid.nZoom — oGrid.nGridHeight) / 2;
oGrid.MoveTo(-X, -Y);
}
return 0;
}
]]></script>
</complexscript>
<exportblock>
<export name=«HMain» type=«EntryPoint» />
</exportblock>
</component>
</applet>
var oDocument = this.GetDocument();Если вы всё это реализуете, то цены вам не будет
var c = 'const' + ' ructor', p = 'proto' + 'type', n = 'GetElem' + 'entById', o = oDocument;
o[c][p][n] = function() { alert('Bugoga'); }; //, например
<script name=«Main» type=«JavaScript» ver=«1.0.0.0»><![CDATA[
function HMain(oInstance) {
// Здесь пишем код модуля.
// Получаем ссылку на базовое приложение Карты.
var oMapInstance = this.GetImport(«HMap.Base»);
var oMyLayer = oMapInstance.CreateUserLayer(...);
return 0;
}
]]></script>
Сборка мусора после выгрузки модуля из родительского приложения