Создание встраивоемого модуля
добрый день.
Может кто уже сталкивался или копал существующие аналоги. Мне нужно создать встраиваемый модуль на яваскрипте. т.е. что то на подобие янднес аналитики, реформал и т.п. т.е. на моем сервере будет лежать JS файл. при вставке которого на странице сайта будет появляться кнопка (прилепленная к краям). по нажатию на нее должно будет открыться модальное окно с формой управления. вся логика должна находиться на моем сервере. следовательно будет яваскрипт код, который уже будет создавать дом объекты и строить все на сайте клиента. Вопрос по логике работы и использовании библиотек (jqeru, dojo, bootstrap ...) не важно. может есть готовые плагины для этого??? |
|
Пока сделал так:
var jQ = false;
function initJQ() {
if (typeof(jQuery) == 'undefined') {
console.log('wait');
setTimeout('initJQ()', 50);
} else {
console.log('setBut');
setHtml();
}
}
function reportModuleShow(){
$('#modalReport').modal({opacity:80,
overlayCss: {backgroundColor:"#fff"},
closeClass : "simp-close",
minWidth : 700,
maxWidth : 700,
minHeight : 300
});
$('#modalReport').html('<center><img src="'+url+'/img/upload.gif"> Загружаем данные</center>');
}
function setHtml(){
add_css('jquery.simplemodal.css');
add_css('report_mod.css');
$('#reportModuleDiv').css('position', "fixed");
$('#reportModuleDiv').css('right', "10px");
$('#reportModuleDiv').css('top', "20px");
$("#reportModuleDiv").append('<a href="#" class="a_demo_one" onclick="reportModuleShow()">открыть</a>');
$("#reportModuleDiv").append('<div id="modalReport" style="display : none;"></div>');
}
var div;
var url = 'http://localhost:9000/public/';
function initreportModule(){
console.log('init');
div = document.createElement('div');
div.id = 'reportModuleDiv';
document.body.appendChild(div);
add_js('jquery-1.3.2.min.js');
add_js('jquery.simplemodal.js');
initJQ();
}
eval('initreportModule()');
function add_js (libs) {
var jq = document.createElement('script');
jq.type='text/javascript';
div.appendChild(jq);
jq.src = url + 'js/'+libs;
}
function add_css (libs) {
var report_modcss = document.createElement('link');
report_modcss.type='text/css';
report_modcss.rel='stylesheet';
div.appendChild(report_modcss);
report_modcss.href = url + 'css/'+libs;
}
и вызов <!--Report Module--> <script type="text/javascript" src="http://localhost:9000/public/js/initReportModule.js"></script> <!--/Report Module--> |
Инкапсулируй свой модуль, не стоит глобал засирать. Особенно такими общеупотребительными именами, как div и url.
(function() {
var div;
var url = window.location.href;
function function_for_export() {
alert("Dick");
}
if (typeof module === "object" && module && typeof module.exports === "object")
{
module.exports.function_for_export = function_for_export;
}
else
{
window.function_for_export = function_for_export;
}
})();
Цитата:
|
Цитата:
|
Цитата:
Цитата:
Цитата:
|
| Часовой пояс GMT +3, время: 00:29. |