저는 실제 스크립트를 사용하지 않으므로 개발 단계의 속도를 높이기 위해 스크립트의 소스 URL을 바꿔야합니다. 이런 종류의 교체는 CSS 또는 이미지와 잘 작동합니다. 하지만 자바 스크립트 src와 함께 작동하도록 힘든 시간을 보내십시오. src를 통해로드되었지만 스크립트가 실행되지 않은 것처럼 보입니다.jquery를 사용하여 스크립트 src 바꾸기를 실행하지 않았습니다.
다음은 내가 한 것입니다. 방화범
..................
return this.each(function() {
$(this).click(function() {
var t = $(this);
options.newVal = t.val();
var absUrl = '/root_path_still_within_the_same_domain/';
//options.oldVal is just to limit the replacement scope
var oldJsUrl = absUrl + options.oldVal + '.js';
var newJsUrl = absUrl + options.newVal + '.js';
var reJsUrl = $('script[type*=javascript][src*=' + options.oldVal + ']' || 'script[type*=javascript][src*=' + options.newVal + ']');
if (oldJsUrl.length && options.oldVal.length) {
reJsUrl.attr('src', newJsUrl);
}
options.oldVal = options.newVal;
});
});
......................
는 목표 기존의 src URL (/old_path_to_file.js)는 새 (/new_path_to_file.js)로 대체됩니다. 대체가 효과적입니다. 하지만 (실제 절대 URL에 http 참조 : // 경우 관련에),보고
http://localhost/........js
그래서 스크립트 SRC를 교체하지만, 실행되지 않습니다 :
가에 대한 소스를로드하지 못했습니다. 이 물건이 허락된다면 내가 놓친 것이 있나?
또한 $ .getScript (absUrl + options.newVal + '.js');를 사용하려고했으나 이전의 src 대신 js를 dom에 추가했는데 원하는 바가 아닙니다. . 이 부분에도 힌트가 있습니까?
가능한 모든 도움 주셔서 감사합니다.
그렇다면 어떤 경로를 사용해야합니까? 대체 $ .getScript를 대체할까요? 이벤트를 정의 해제하고 연결 해제하는 방법에 대한 예제를 제공 할 수 있습니까? 고마워요 – swan
음 ... 글쎄, 원래 스크립트가 어떻게 생겼는지보아야 할 것 같아. – Hogan
각 스크립트가 다르게 처리합니다. one.js : $ ('. rounded'). corner ("8px"); two.js : $ ('둥근'). 코너 ('6px'); 등보다 복잡한 관련 콘텐츠. 그들은 dev에 완료 할 때 별도로 살 필요가 있기 때문에 조건과 함께 하나의 스크립트에 합병되는 것을 피하려고합니다. – swan