HỎI => ĐÁP MỌI THỨ VỀ JAVASCRIPT 2009-07-01 01:20:03

Nghỉ hè chán quá ,lập cái topic này giúp anh em chơi.Vừa giúp vừa trau dồi kiến thức.^o^

Tra loi 17 comment(s) choncon 2009-07-01 01:20:03

tửng 2009-07-01 01:39:46

<script language="javascript">
function tửng(){
alert('tửng từng tưng');
}
</script>

Tra loi

changtraingheo 2009-07-01 09:20:20

Đọc XML bằng PHP và Đọc XML bằng JS => ưu và nhược điểm của 2 thằng này :D

Tra loi

choncon 2009-07-01 11:05:02

@changtraingheo:
-Nếu đọc bằng PHP thì tui nghĩ là tốc độ nhanh hơn và bảo mật tốt hơn ( về bản quyền mã nguồn)
-Nếu đọc bằng JS ,có hai cách:
+Dùng XMLload , cái này không đọc được file XML nếu bị lỗi ,kết quả trả lại là DOM.
+Dùng Ajax , đọc vô tư và kết quả trả lại là text ( muốn chuyển qua DOM cần kĩ thuật)


@Mà nói chung ko nên so sánh sever với client ^^

Tra loi

changtraingheo 2009-07-01 02:20:45

Mình cũng nghỉ thế, nếu dùng php để đọc XML, thì phải dùng file_get_contents để lấy nội dung của XML và phân tích, vậy có ai biết tốc độ xử lý của hàm file_get_contents khi đọc 1 file xml dung lượng tầm 15KB ko nhỉ?

Tra loi

Ken Phan 2009-07-01 02:34:55

dùng js thì ko thể get xml từ server khác đc ... ! ^^

Tra loi

changtraingheo 2009-07-01 04:29:31

dĩ nhiên, trường hợp này là mình đang gặp, viết mod cho forum vbb, đọc file xml dùng file_get_contents, nhưng hàm này trên server nó lại ko chạy, mail cho bên kỷ thuật hỏi nó phán câu nghe xanh rờn

"dùng kỷ thuật ajax lấy dữ liệu từ file xml, vì dùng php sẽ xử lý nặng và khó cho việc tích hợp"


rốt cuộc có mỗi chuyện đọc file xml (nằm ở server khác) mà hơn cả tháng vẫn chẳng đi tới đâu ... vẫn còn ấm ức

Tra loi

TG 2009-07-01 05:57:57

hehe, chocon đang rãnh viết tutorials đi :) giúp đỡ bà con, nhất là mấy cái kiến thức về oop áh

Tra loi

choncon 2009-07-01 06:41:45

@TG: Chịu, nói chuyện phiếm chứ viết thì gà và mau chán lắm

Tra loi

Về Đâu 2009-07-01 08:19:22

Dung JS có thể get xml và JSon từ server khác.

Tra loi

choncon 2009-07-01 09:08:16

Kô thể được đâu, mọi hoạt động tải-load qua JS đều phải cùng domain.
Trước đây có cái trình duyệt Nestcape thì dùng được () nhưng giờ thì tất cả bảo mật hết rồi.Ngoài ra nếu mở IE6 từ ổ đĩa của window có thể dùng ajax để laod nội dung trên các domain khác nhau ( tui dùng cái này - ajax đọc tin của tất cả các báo điện tử cực nhanh mà tránh quảng cáo )

Tra loi

Về Đâu 2009-07-02 08:07:35

http://docs.jquery.com/Getjson

Tra loi

choncon 2009-07-03 10:56:59

Hình như bạn nhầm giữa jSON và xml.jSON là một cách chuyển dữ liệu XML qua Js-object ( plain/text ) chứ ko phải là XML ( plain/xml )

Mình đã đọc khá nhiều về vấn đề cross-domain rồi nhưng jSON nhận được ở đây thực ra không phải là ajax ,nó chỉ là dữ liệu của 1 tag script ( với file script thì lấy từ đâu cũng được thôi )

Việc truy xuất 1 file script hay jSON bằng cross-domain là rất nguy hiểm từ những nguồn không đáng tin cậy boir vì bạn buộc phải thực hiện script từ file đó mà ko được biết trước nó chứa những gì. Cần lắm là chỉ dám truy xuất từ những hãng nổi tiếng như YH hay google mà thôi.
------------
Trong mã nguồn forum của SMF có kĩ thuật chống load trang = ajax ( và ngược lại chỉ cho phép load = ajax ) rất hay mọi người có thể tự tìm hiểu để nâng cao ajax.

Tra loi

cỏ úa 2009-07-04 08:58:44

Anh e có chổ nào hướng dẫn về json k ?cô vài trang cái
còn plain/text và plain/xml là gì vậy ?
Dùng ajax trả về dạng xml và json khác nhau chổ nào vậy

Tra loi

choncon 2009-07-04 11:09:49

json chỉ là lưu dữ liệu dưới dạng object của javascript thôi:

{
type: "cats",
member:{
    cat1: "mimi",
    cat2: "mama"
  }
}

và khi truy cập thì json trả lại đưới dạng text/javascript ,json cho phép gửu một hàm callback vào $_GET để thực hiện.
Ví dụ khi append một tag script vào trang với link: http:apies.yahoo.com?output=json&type=images&callback=CALLBACK thì hàm CALLBACK sẽ được thực hiện với biến gọi vào là data của json.Hàm CALLBACK được khởi tạo từ trang gốc.

Tra loi

TK 2009-07-04 11:23:13

Mình nhờ @choncon cái này. Mình muốn làm 1 trang khi muốn cuộn trang web thì chỉ việc click lên màn hình và kéo 1 khoảng nó sẽ tự cuộn.
VD: khi click vào điểm x và kéo đến điểm y thì trang web sẽ cuộn 1 khoảng bắt đầu từ y có chiều dài bằng khoảng cách từ x đến y. Nếu bạn nào dùng iPhone rồi thì biết, chỉ cần lấy ngón tay gạt nhẹ cái nó sẽ tự scroll xuống :D nếu dùng jQuery được thì tốt.
Mình đã thử dùng plugin drag & drop với animation nhưng nó chạy mãi chả dừng lại ^^

Tra loi

choncon 2009-07-04 01:29:18

<html>
<head>
<style>
body{
cursor:pointer;
}

</style>
<script>
var start_move = false;
var old_Y = 0

function fixEvent(e){
  e = e||window.event;
  return e.pageY||( e.clientY + document.body.scrollTop );
}

document.onmousedown = function(e){
  window.start_move = true;
  window.old_Y = fixEvent(e) - document.body.scrollTop;

}

document.onmouseup = function(){
  window.start_move = false;
}


document.onmousemove = function( e ){
  if( !start_move ) return;
  document.body.scrollTop = fixEvent(e) - window.old_Y;
  window.old_Y = fixEvent(e) - document.body.scrollTop;
  document.title = document.body.scrollTop;
}


</script>
</head>
<body>
<div style="height:500px;width:1000px;background:green">aa</div>
<div style="height:500px;width:1000px;background:black">aa</div>
<div style="height:500px;width:1000px;background:red">aa</div>
</body>
</html>





--------> Muốn scroll Left thì tự tìm hiểu thêm nhé, mình ko dùng jQuery nên ko làm theo nó.Tui định viết bằng Owl ( chỉ mất mấy dòng nhưng sợ mang tiếng quảng cáo nên thôi cứ xài thủ công )

Tra loi

hthnvv 2009-10-24 10:55:46

cho em hỏi bài này với các anh ơi!

Bài 1  
- Tạo 1 file html với tên file là cau3_.html
- Trong file này tạo 1 form có tên là form1
- Trong form này tạo các đối tượng giống như hình dưới đây, tên của các ô để người dùng nhập liệu là a_txt, b_txt và ketqua_txt là ô để hiển thị kết quả.

- Dùng JavaScript để lập trình xử lý bài toán: Người dùng nhập hai số a, b bất kỳ tại hai ô “Số thứ nhất” và “Số thứ hai”. Khi click lên nút “Tính toán” thì hiển thị kết quả là tổng của hai số lên ô “Kết quả”.
Gợi ý: Để lấy giá trị tại ô nhập liệu có tên là  text1, ô này nằm trong form có tên là form1, ta dùng: document.form1.text1.value
Bài 2 : Tạo form như sau :

Yêu cầu sử dụng javascript để thực hiện :
Kiểm tra các trường không được để trống.
Tiếp đó kiểm tra xem đã điền đúng thông tin email là google nếu đúng thì chuyển đến trang google.com Nếu sai hiện thông báo

Nếu mật khẩu có độ dài nhỏ hơn 5 thì báo lỗi :
Ví dụ nhập là : Bird
thì thông báo lỗi là  : Không đủ dài
Bai 3
Hãy tạo 1 webpage với form như hình vẽ:

Khi nhập số vào textbox1 và textbox2 rồi nhấn button “=” thì kết quả sẽ hiển thị ra ở textbox2

Tra loi

Y kien