왜 prototype.js를 scriptaculous.js와 함께 사용하고 싶습니까? 가장 큰 이유는 무엇입니까? 언제 도서관을 둘 다 필요로합니까?scriptaculous.js와 함께 prototype.js를 사용하는 이유는 무엇입니까? 주된 이유는 무엇입니까?
답변
나는 꽤 오랫동안 프로토 타입을 사용 해왔다. 이제 일부 프로젝트에서는 jQuery, 다른 프로젝트에서는 Mootools를 사용하고 나머지는 Mootools를 사용합니다 ...
왜 JS Framework를 사용합니까?
음, 세 가지 주요 이유 : 그들은 물건을 많이 제공
- 나 자신에 의해 다시 개발하지 않으려는
- 그들은 잘 테스트; 내 자신의 코드보다 더
- 그들은 크로스 브라우저 호환성 레이어를 제공하는 것 (그리고 내가 대신 혼자이 전쟁을 할 필요없이, 그와 거래하는 프레임 워크를 가지고 좋아!)
로를 어떤 JS 사용해야하는 프레임 워크, 그것은 또 다른 질문입니다 - 당신이 prototype.js에 및/또는 scriptaculous.js 포함하면
를 ^^에 전적으로이다 :
- prototype.js에 : 모든 페이지에 그 일부 JS 물건이 필요합니다 (대부분의 페이지 유전자 집회)
- scriptaculous.js 적어도 다른 JS 프레임 워크에 놓은 뒤 드롭, Autocompleter에 등 같은 효과를 필요로 페이지 ...
같은 일이 너무, BTW ...
scriptaculous.js 파일은 document.write 호출을 사용하여 나머지 스크립트를 포함하는 도우미 파일입니다.
scriptaculous.js 파일에 작성된 코드에서 알 수 있듯이 require
함수를 호출하여 빌더, 효과 등 라이브러리를 포함합니다.
var Scriptaculous = {
Version: '1.8.2',
require: function(libraryName) {
// inserting via DOM fails in Safari 2.0, so brute force approach
document.write('<script type="text/javascript" src="'+libraryName+'"><\/script>');
},
REQUIRED_PROTOTYPE: '1.6.0.3',
load: function() {
function convertVersionString(versionString) {
var v = versionString.replace(/_.*|\./g, '');
v = parseInt(v + '0'.times(4-v.length));
return versionString.indexOf('_') > -1 ? v-1 : v;
}
if((typeof Prototype=='undefined') ||
(typeof Element == 'undefined') ||
(typeof Element.Methods=='undefined') ||
(convertVersionString(Prototype.Version) <
convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))
throw("script.aculo.us requires the Prototype JavaScript framework >= " +
Scriptaculous.REQUIRED_PROTOTYPE);
var js = /scriptaculous\.js(\?.*)?$/ig;
$$('head script[src]').findAll(function(s) {
return s.src.match(js);
}).each(function(s) {
var path = s.src.replace(js, ''),
includes = s.src.match(/\?.*load=([a-z,]*)/);
(includes ? includes[1] : 'builder,effects,drag-drop,controls,slider,sound').split(',').each(
function(include) { Scriptaculous.require(path+include+'.js') });
});
}
};
Scriptaculous.load();
그리고 scriptaculous는 프로토 타입 라이브러리를 기반으로하는 애드온의 종류이기 때문에 프로토 타입 라이브러리를 포함합니다. 프로토 타입 라이브러리에서 사용 가능한 메소드를 호출 할 때 프로토 타입 없이는 scriptaculous를 사용할 수 없습니다.
Scriptaculous은 Prototype을 사용하므로 페이지에 Scriptaculous 효과를 사용하는 경우이를 포함시켜야합니다.
Scriptaculous의 명백한 용도를 볼 수 없다면 간결하고 효과적인 코드를 작성하기위한 일종의 크로스 플랫폼 유틸리티 레이어를 제공하는 Prototype을 사용하는 다른 자바 스크립트가있을 수 있습니다. 그것을 확인하는 빠른 방법은 $()에 대한 호출을 포함하여 javascript를 찾는 것입니다.
Scriptaculous는 Prototype을 내부적으로 사용합니다. Scriptaculous를 사용한다면 Prototype이 필요합니다.
- 1. Ruby on Rails가 기본적으로 Prototype.js를 사용하는 이유는 무엇입니까?
- 2. 프리즘을 사용하는 이유는 무엇입니까?
- 3. @Scoped를 EJB와 함께 사용하는 이유는 무엇입니까?
- 4. 포인터를 사용하는 이유는 무엇입니까?
- 5. NHibernate를 사용하는 이유는 무엇입니까?
- 6. lambda에서 # '을 사용하는 이유는 무엇입니까?
- 7. OFBiz에서 Prototype.js를 사용하는 Ajax
- 8. 회원없는 인터페이스를 사용하는 이유는 무엇입니까?
- 9. mako에서 Context를 사용하는 이유는 무엇입니까?
- 10. PHP에서 DoublyLinkedList를 사용하는 이유는 무엇입니까?
- 11. WP7에서 UriMapping을 사용하는 이유는 무엇입니까?
- 12. 여기에서 BeginInvoke를 사용하는 이유는 무엇입니까?
- 13. CVS를 계속 사용하는 이유는 무엇입니까?
- 14. 개발자가 Silverlight를 사용하는 이유는 무엇입니까?
- 15. WF4에서 대리인을 사용하는 이유는 무엇입니까?
- 16. jQuery에서 "({})"을 사용하는 이유는 무엇입니까?
- 17. 몬테카를로 방법을 사용하는 이유는 무엇입니까?
- 18. PHP에서 클래스를 사용하는 이유는 무엇입니까?
- 19. asp.net에서 iframe을 사용하는 이유는 무엇입니까?
- 20. 메시지 대기열을 사용하는 이유는 무엇입니까?
- 21. Response.ClearHeaders()를 사용하는 이유는 무엇입니까?
- 22. 프로그래밍에서 상수를 사용하는 이유는 무엇입니까?
- 23. 이유는 무엇입니까?
- 24. os.path.basename은 URL과 함께 작동합니다. 그 이유는 무엇입니까?
- 25. 대괄호가 테이블 이름과 함께 나타나는 이유는 무엇입니까?
- 26. .NET Framework와 함께 SDK가 필요한 이유는 무엇입니까?
- 27. 배열과 함께 작동하지 않는 이유는 무엇입니까?
- 28. xampp은 xdebug와 함께 제공되지 않는 이유는 무엇입니까?
- 29. Java가 CopyOnWriteMap과 함께 제공되지 않는 이유는 무엇입니까?
- 30. 기능이 입력과 함께 작동하지 않는 이유는 무엇입니까?
수 너 좀 더 구체적 일까? 기본 응답은 찾고있는 구현과 프로토 타입 또는 scriptaculous (또는 jQuery와 같은 다른 것)가 자체적으로 기능을 처리 할 수 있는지에 따라 "의존적"일 것입니다. – kdmurray