Гуру JS подскажите что мешает работе скрипта
Здравствуйте. Гуру JS подскажите что мешает работе скрипта
Скрипт размещенный на странице работает, если остальные скрипты лежат не далее одного уровня вложенности. То есть так работают - site/page.html остальные js лежат в папке site/script Так уже не работают - site/page/list.html или site/page/list/ или site/page/ Но, если создать папку например (page) site/page и положить туда все остальные скрипты, то все работает с site/page/list.html и site/page/ За все это отвечает скрипт из примера ниже <script type="text/javascript"> window.Muse.assets.check=function(d){if(!window.Muse.assets.checked){window.Muse.assets.checked=!0;var b={},c=function(a,b){if(window.getComputedStyle){var c=window.getComputedStyle(a,null);return c&&c.getPropertyValue(b)||c&&c[b]||""}if(document.documentElement.currentStyle)return(c=a.currentStyle)&&c[b]||a.style&&a.style[b]||"";return""},a=function(a){if(a.match(/^rgb/))return a=a.replace(/\s+/g,"").match(/([\d\,]+)/gi)[0].split(","),(parseInt(a[0])<<16)+(parseInt(a[1])<<8)+parseInt(a[2]);if(a.match(/^\#/))return parseInt(a.substr(1), 16);return 0},g=function(g){for(var f=document.getElementsByTagName("link"),h=0;h<f.length;h++)if("text/css"==f[h].type){var i=(f[h].href||"").match(/\/?css\/([\w\-]+\.css)\?crc=(\d+)/);if(!i||!i[1]||!i[2])break;b[i[1]]=i[2]}f=document.createElement("div");f.className="version";f.style.cssText="display:none; width:1px; height:1px;";document.getElementsByTagName("body")[0].appendChild(f);for(h=0;h<Muse.assets.required.length;){var i=Muse.assets.required[h],l=i.match(/([\w\-\.]+)\.(\w+)$/),k=l&&l[1]? l[1]:null,l=l&&l[2]?l[2]:null;switch(l.toLowerCase()){case "css":k=k.replace(/\W/gi,"_").replace(/^([^a-z])/gi,"_$1");f.className+=" "+k;k=a(c(f,"color"));l=a(c(f,"backgroundColor"));k!=0||l!=0?(Muse.assets.required.splice(h,1),"undefined"!=typeof b[i]&&(k!=b[i]>>>24||l!=(b[i]&16777215))&&Muse.assets.outOfDate.push(i)):h++;f.className="version";break;case "js":h++;break;default:throw Error("Unsupported file type: "+l);}}d?d().jquery!="1.8.3"&&Muse.assets.outOfDate.push("jquery-1.8.3.min.js"):Muse.assets.required.push("jquery-1.8.3.min.js"); f.parentNode.removeChild(f);if(Muse.assets.outOfDate.length||Muse.assets.required.length)f="Некоторые файлы на сервере могут отсутствовать или быть некорректными. Очистите кэш-память браузера и повторите попытку. Если проблему не удается устранить, свяжитесь с разработчиками сайта.",g&&Muse.assets.outOfDate.length&&(f+="\nOut of date: "+Muse.assets.outOfDate.join(",")),g&&Muse.assets.required.length&&(f+="\nMissing: "+Muse.assets.required.join(",")),alert(f)};location&&location.search&&location.search.match&&location.search.match(/muse_debug/gi)?setTimeout(function(){g(!0)},5E3):g()}}; var muse_init=function(){require.config({baseUrl:""});require(["jquery","museutils","whatinput","jquery.watch","webpro","musewpslideshow","jquery.museoverlay","touchswipe","jquery.museresponsive"],function(d){var $ = d;$(document).ready(function(){try{ window.Muse.assets.check($);/* body */ Muse.Utils.transformMarkupToFixBrowserProblemsPreInit();/* body */ Muse.Utils.prepHyperlinks(true);/* body */ Muse.Utils.resizeHeight('.browser_width');/* resize height */ Muse.Utils.requestAnimationFrame(function() { $('body').addClass('initialized'); });/* mark body as initialized */ Muse.Utils.fullPage('#page');/* 100% height page */ Muse.Utils.initWidget('#pamphletu8504', ['#bp_infinity', '#bp_320'], function(elem) { return new WebPro.Widget.ContentSlideShow(elem, {contentLayout_runtime:'stack',event:'click',deactivationEvent:'mouseout_click',autoPlay:false,displayInterval:3000,transitionStyle:'fading',transitionDuration:300,hideAllContentsFirst:true,shuffle:false,enableSwipe:false,resumeAutoplay:true,resumeAutoplayInterval:3000,playOnce:false,autoActivate_runtime:false}); });/* #pamphletu8504 */ $( '.breakpoint' ).registerBreakpoint();/* Register breakpoints */ Muse.Utils.transformMarkupToFixBrowserProblems();/* body */ }catch(b){if(b&&"function"==typeof b.notify?b.notify():Muse.Assert.fail("Error calling selector function: "+b),false)throw b;}})})}; </script> |
1) Приводим код в удобочитаемый вид например на jsbeautifier.org
2) В функции g.load строку e.src = d; меняем на e.src = '/'+d; 3) Очищаем кэш браузера (Для верии adobe muse 2017.0.1) g.load = function(b, c, d) { var m = b && b.config || {}, e; if (E) { e = g.createNode(m, c, d); e.setAttribute("data-requirecontext", b.contextName); e.setAttribute("data-requiremodule", c); !e.attachEvent || e.attachEvent.toString && 0 > e.attachEvent.toString().indexOf("[native code") || ca ? (e.addEventListener("load", b.onScriptLoad, !1), e.addEventListener("error", b.onScriptError, !1)) : (S = !0, e.attachEvent("onreadystatechange", b.onScriptLoad)); e.src = '/'+d; if (m.onNodeCreated) m.onNodeCreated(e, m, c, d); P = e; H ? C.insertBefore(e, H) : C.appendChild(e); P = null; return e } if (ja) try { setTimeout(function() {}, 0), importScripts(d), b.completeLoad(c) } catch (q) { b.onError(F("importscripts", "importScripts failed for " + c + " at " + d, q, [c])) } }; E && !w.skipDataMain && X(document.getElementsByTagName("script"), function(b) { C || (C = b.parentNode); if (O = b.getAttribute("data-main")) return u = O, w.baseUrl || -1 !== u.indexOf("!") || (I = u.split("/"), u = I.pop(), T = I.length ? I.join("/") + "/" : "./", w.baseUrl = T), u = u.replace(U, ""), g.jsExtRegExp.test(u) && (u = O), w.deps = w.deps ? w.deps.concat(u) : [u], !0 }); |
Часовой пояс GMT +3, время: 07:05. |