Thứ Ba, 30 tháng 10, 2018

JavaScript - Chuyển hướng trang

Chuyển hướng trang là gì

Bạn có thể đã gặp phải một tình huống mà bạn đã nhấp vào một URL để đến trang X nhưng nội bộ bạn đã được chuyển đến một trang Y. Điều đó xảy ra do chuyển hướng trang . Khái niệm này khác với Làm mới trang JavaScript .

Có thể có nhiều lý do khác nhau khiến bạn muốn chuyển hướng người dùng từ trang gốc. Chúng tôi liệt kê một vài lý do

Bạn không thích tên miền của mình và bạn đang chuyển sang tên miền mới. Trong trường hợp như vậy, bạn có thể muốn hướng tất cả khách truy cập của mình đến trang web mới. Tại đây, bạn có thể duy trì miền cũ của mình nhưng đặt một trang duy nhất có chuyển hướng trang sao cho tất cả khách truy cập miền cũ của bạn có thể đến miền mới của bạn.

Khóa học java miễn phí
Khóa học java miễn phí
Bạn đã xây dựng các trang bằng lâp trình java khác nhau dựa trên phiên bản trình duyệt hoặc tên của chúng hoặc có thể dựa trên các quốc gia khác nhau, thay vì sử dụng chuyển hướng trang phía máy chủ, bạn có thể sử dụng chuyển hướng trang phía máy khách để đưa người dùng của bạn lên trang thích hợp.

Công cụ tìm kiếm có thể đã lập chỉ mục các trang của bạn. Nhưng trong khi chuyển sang miền khác, bạn sẽ không muốn mất khách truy cập của mình thông qua công cụ tìm kiếm. Vì vậy, bạn có thể sử dụng chuyển hướng trang phía máy khách. Nhưng hãy ghi nhớ điều này không nên được thực hiện để đánh lừa các công cụ tìm kiếm, nó có thể dẫn trang web của bạn bị cấm.

Link đăng ký : Khóa học java miễn phí.

Cách hoạt động của Re-direction Page?

Việc triển khai Page-Redirection như sau.

Việc chuyển hướng trang bằng cách sử dụng JavaScript ở phía máy khách khá đơn giản. Để chuyển hướng khách truy cập trang web của bạn đến một trang mới, bạn chỉ cần thêm một dòng vào phần đầu của bạn như sau.
<html>
   <head>
      
      <script type="text/javascript">
         <!--
            function Redirect() {
               window.location="http://www.tutorialspoint.com";
            }
         //-->
      </script>
      
   </head>
   
   <body>
      <p>Click the following button, you will be redirected to home page.</p>
      
      <form>
         <input type="button" value="Redirect Me" onclick="Redirect();" />
      </form>
      
   </body>
</html>

Đầu ra

Ví dụ 2

Bạn có thể hiển thị thông báo thích hợp cho khách truy cập trang web của mình trước khi chuyển hướng họ đến một trang mới.

Điều này sẽ cần một chút thời gian trễ để tải một trang mới. Ví dụ sau đây cho thấy cách thực hiện tương tự.

Ở đây setTimeout () là một hàm JavaScript tích hợp có thể được sử dụng để thực thi một hàm khác sau một khoảng thời gian nhất định.
<html>
   <head>
   
      <script type="text/javascript">
         <!--
            function Redirect() {
               window.location="http://www.tutorialspoint.com";
            }
            
            document.write("You will be redirected to main page in 10 sec.");
            setTimeout('Redirect()', 10000);
         //-->
      </script>
      
   </head>
   
   <body>
   </body>
</html>

You will be redirected to tutorialspoint.com main page in 10 seconds!

Ví dụ 3

Ví dụ sau cho thấy cách chuyển hướng khách truy cập trang web của bạn vào một trang khác dựa trên trình duyệt của họ.
<html>
   <head>
   
      <script type="text/javascript">
         <!--
            var browsername=navigator.appName;
            if( browsername == "Netscape" )
            {
               window.location="http://www.location.com/ns.htm";
            }
            else if ( browsername =="Microsoft Internet Explorer")
            {
               window.location="http://www.location.com/ie.htm";
            }
            else
            {
               window.location="http://www.location.com/other.htm";
            }
         //-->
      </script>
      
   </head>
   
   <body>
   </body>
</html>

Thứ Hai, 29 tháng 10, 2018

JavaScript và Cookie

Cookies là gì?
Khóa học java miễn phí
Trình duyệt web và máy chủ sử dụng giao thức HTTP để giao tiếp và HTTP là giao thức không trạng thái. Nhưng đối với một trang web thương mại, nó là cần thiết để duy trì thông tin phiên trong số các trang khác nhau. Ví dụ: một đăng ký người dùng kết thúc sau khi hoàn thành nhiều trang. Nhưng làm thế nào để duy trì thông tin phiên của người dùng trên tất cả các trang web.

Trong nhiều trường hợp, sử dụng cookie là phương pháp ghi nhớ và theo dõi tùy chọn hiệu quả nhất, mua hàng, hoa hồng và các thông tin khác cần thiết để có được trải nghiệm khách truy cập hoặc thống kê trang web tốt hơn.

Link đăng ký khóa học : Khóa học java miễn phí.

Làm thế nào nó hoạt động ?

Máy chủ của bạn gửi một số dữ liệu đến trình duyệt của khách truy cập dưới dạng cookie. Trình duyệt có thể chấp nhận cookie. Nếu có, nó được lưu trữ dưới dạng bản ghi văn bản thuần túy trên ổ cứng của khách truy cập. Bây giờ, khi khách truy cập đến một trang khác trên trang web của bạn, trình duyệt sẽ gửi cùng một cookie đến máy chủ để truy xuất. Sau khi truy xuất, máy chủ của bạn biết / nhớ những gì đã được lưu trữ trước đó.

Cookie là bản ghi dữ liệu văn bản thuần túy gồm 5 trường có độ dài thay đổi

Hết hạn - Ngày cookie sẽ hết hạn. Nếu điều này trống, cookie sẽ hết hạn khi khách truy cập thoát khỏi trình duyệt.

Tên miền - Tên miền của trang web của bạn.

Đường dẫn - Đường dẫn đến thư mục hoặc trang web đặt cookie. Điều này có thể trống nếu bạn muốn truy xuất cookie từ bất kỳ thư mục hoặc trang nào.

Bảo mật - Nếu trường này chứa từ "an toàn", thì cookie chỉ có thể được truy xuất bằng máy chủ bảo mật. Nếu trường này trống, không có hạn chế nào tồn tại.

Tên = Giá trị - Cookie được đặt và truy xuất dưới dạng cặp khóa-giá trị

Cookie ban đầu được thiết kế để lập trình CGI. Dữ liệu trong cookie được tự động truyền giữa trình duyệt web và máy chủ web, vì vậy các tập lệnh CGI trên máy chủ có thể đọc và ghi các giá trị cookie được lưu trữ trên máy khách.

JavaScript cũng có thể thao tác cookie bằng cách sử dụng thuộc tính cookiecủa đối tượng Document . JavaScript có thể đọc, tạo, sửa đổi và xóa các cookie áp dụng cho trang web hiện tại.

Lưu trữ Cookies

Cách đơn giản nhất để tạo cookie là gán giá trị chuỗi cho đối tượng document.cookie, trông giống như thế này.
document.cookie = "key1=value1;key2=value2;expires=date";
Ở đây thuộc tính hết hạn là tùy chọn. Nếu bạn cung cấp thuộc tính này với ngày hoặc giờ hợp lệ, thì cookie sẽ hết hạn vào một ngày hoặc giờ nhất định và sau đó, giá trị của cookie sẽ không thể truy cập được.

Lưu ý - Giá trị cookie có thể không bao gồm dấu chấm phẩy, dấu phẩy hoặc khoảng trắng. Vì lý do này, bạn có thể muốn sử dụng hàm JavaScript escape () để mã hóa giá trị trước khi lưu trữ nó trong cookie. Nếu bạn làm điều này, bạn cũng sẽ phải sử dụng hàm unescape () tương ứng khi bạn đọc giá trị cookie.

Thí dụ

Hãy thử những điều sau đây. Nó đặt tên khách hàng trong cookie đầu vào.
<html>
   <head>
      
      <script type = "text/javascript">
         <!--
            function WriteCookie()
            {
               if( document.myform.customer.value == "" ){
                  alert("Enter some value!");
                  return;
               }
               cookievalue= escape(document.myform.customer.value) + ";";
               document.cookie="name=" + cookievalue;
               document.write ("Setting Cookies : " + "name=" + cookievalue );
            }
         //-->
      </script>
      
   </head>
   
   <body>
   
      <form name="myform" action="">
         Enter name: <input type="text" name="customer"/>
         <input type="button" value="Set Cookie" onclick="WriteCookie();"/>
      </form>
   
   </body>
</html>
Đầu ra

Bây giờ máy của bạn có một cookie gọi là tên . Bạn có thể đặt nhiều cookie bằng cách sử dụng nhiều cặp khóa = giá trị được phân tách bằng dấu phẩy.

Đọc cookie

Đọc một cookie đơn giản như viết một, vì giá trị của đối tượng document.cookie là cookie. Vì vậy, bạn có thể sử dụng chuỗi này bất cứ khi nào bạn muốn truy cập cookie. Chuỗi document.cookie sẽ giữ một danh sách các cặp name = value được phân cách bằng dấu chấm phẩy, trong đó name là tên của một cookie và giá trị là giá trị chuỗi của nó.

Bạn có thể sử dụng hàm split () của chuỗi để ngắt chuỗi thành khóa và các giá trị như sau:

Thí dụ

Hãy thử ví dụ sau để lấy tất cả cookie.
<html>
   <head>
   
      <script type="text/javascript">
         <!--
            function ReadCookie()
            {
               var allcookies = document.cookie;
               document.write ("All Cookies : " + allcookies );
               
               // Get all the cookies pairs in an array
               cookiearray = allcookies.split(';');
               
               // Now take key value pair out of this array
               for(var i=0; i<cookiearray.length; i++){
                  name = cookiearray[i].split('=')[0];
                  value = cookiearray[i].split('=')[1];
                  document.write ("Key is : " + name + " and Value is : " + value);
               }
            }
         //-->
      </script>
      
   </head>
   <body>
      
      <form name="myform" action="">
         <p> click the following button and see the result:</p>
         <input type="button" value="Get Cookie" onclick="ReadCookie()"/>
      </form>
      
   </body>
</html>
Lưu ý - Chiều dài ở đây là một phương thức của lớp Array trả về độ dài của một mảng. Chúng ta sẽ thảo luận về mảng trong một chương riêng biệt. Vào lúc đó, hãy cố gắng tiêu hóa nó.

Lưu ý - Có thể có một số cookie khác đã được đặt trên máy của bạn. Mã trên sẽ hiển thị tất cả các cookie được đặt trên máy của bạn.

Đặt ngày hết hạn cho cookie

Bạn có thể kéo dài tuổi thọ của cookie ngoài phiên trình duyệt hiện tại bằng cách đặt ngày hết hạn và lưu ngày hết hạn trong cookie. Điều này có thể được thực hiện bằng cách đặt thuộc tính 'hết hạn' thành ngày và giờ.

Thí dụ

Hãy thử ví dụ sau. Nó minh họa cách kéo dài ngày hết hạn của cookie lên 1 tháng.
<html>
   <head>
   
      <script type="text/javascript">
         <!--
            function WriteCookie()
            {
               var now = new Date();
               now.setMonth( now.getMonth() + 1 );
               cookievalue = escape(document.myform.customer.value) + ";"
               
               document.cookie="name=" + cookievalue;
               document.cookie = "expires=" + now.toUTCString() + ";"
               document.write ("Setting Cookies : " + "name=" + cookievalue );
            }
         //-->
      </script>
      
   </head>
   <body>
   
      <form name="myform" action="">
         Enter name: <input type="text" name="customer"/>
         <input type="button" value="Set Cookie" onclick="WriteCookie()"/>
      </form>
      
   </body>
</html>

Đầu ra

Xóa cookie

Đôi khi bạn sẽ muốn xóa một cookie để các lần thử sau đó đọc cookie không trả lại gì cả. Để làm điều này, bạn chỉ cần đặt ngày hết hạn cho một thời gian trong quá khứ.

Thí dụ

Hãy thử ví dụ sau. Nó minh họa cách xóa cookie bằng cách đặt ngày hết hạn của nó thành một tháng sau ngày hiện tại.
<html>
   <head>
   
      <script type="text/javascript">
         <!--
            function WriteCookie()
            {
               var now = new Date();
               now.setMonth( now.getMonth() - 1 );
               cookievalue = escape(document.myform.customer.value) + ";"
               
               document.cookie="name=" + cookievalue;
               document.cookie = "expires=" + now.toUTCString() + ";"
               document.write("Setting Cookies : " + "name=" + cookievalue );
            }
          //-->
      </script>
      
   </head>
   <body>
   
      <form name="myform" action="">
         Enter name: <input type="text" name="customer"/>
         <input type="button" value="Set Cookie" onclick="WriteCookie()"/>
      </form>
      
   </body>
</html>

JavaScript - Sự kiện

Sự kiện là gì?

Tương tác của JavaScript với HTML được xử lý thông qua các sự kiện xảy ra khi người dùng hoặc trình duyệt thao túng một trang.

Khi trang tải, nó được gọi là một sự kiện. Khi người dùng nhấp vào một nút, nhấp chuột đó cũng là một sự kiện. Các ví dụ khác bao gồm các sự kiện như nhấn phím bất kỳ, đóng cửa sổ, thay đổi kích thước cửa sổ, v.v.
Khóa học java miễn phí

Các nhà phát triển có thể sử dụng các sự kiện này để thực thi các câu trả lời mã JavaScript, làm cho các nút đóng cửa sổ, thông báo được hiển thị cho người dùng, dữ liệu được xác thực và hầu như mọi loại phản hồi khác có thể tưởng tượng được.

Sự kiện là một phần của Mô hình đối tượng tài liệu (DOM) cấp 3 và mọi phần tử HTML đều chứa một tập hợp các sự kiện có thể kích hoạt Mã JavaScript.

Vui lòng xem qua hướng dẫn nhỏ này để hiểu rõ hơn về Tham chiếu sự kiện HTML . Ở đây chúng ta sẽ thấy một vài ví dụ để hiểu mối quan hệ giữa Sự kiện và JavaScript

Loại sự kiện onclick

Đây là loại sự kiện thường được sử dụng nhất xảy ra khi người dùng nhấp vào nút bên trái của chuột. Bạn có thể đặt xác thực, cảnh báo, v.v., chống lại loại sự kiện này.

Hãy thử ví dụ sau.

Link đăng ký khóa học : Khóa học java miễn phí.
<html>
   <head>
      
      <script type="text/javascript">
         <!--
            function sayHello() {
               alert("Hello World")
            }
         //-->
      </script>
      
   </head>
   
   <body>
      <p>Click the following button and see result</p>
      
      <form>
         <input type="button" onclick="sayHello()" value="Say Hello" />
      </form>
      
   </body>
</html>

Loại sự kiện

onsubmit là một sự kiện xảy ra khi bạn cố gửi biểu mẫu. Bạn có thể đặt xác thực biểu mẫu của mình theo loại sự kiện này.

Thí dụ

Ví dụ sau đây cho thấy cách sử dụng onsubmit. Ở đây chúng ta đang gọi hàm validate () trước khi gửi dữ liệu biểu mẫu tới máy chủ web. Nếu hàm validate () trả về true, biểu mẫu sẽ được gửi, nếu không nó sẽ không gửi dữ liệu.

Hãy thử ví dụ sau.
<html>
   <head>
   
      <script type="text/javascript">
         <!--
            function validation() {
               all validation goes here
               .........
               return either true or false
            }
         //-->
      </script>
      
   </head>
   <body>
   
      <form method="POST" action="t.cgi" onsubmit="return validate()">
         .......
         <input type="submit" value="Submit" />
      </form>
      
   </body>
</html>

onmouseover và onmouseout

Hai loại sự kiện này sẽ giúp bạn tạo các hiệu ứng đẹp mắt với hình ảnh hoặc thậm chí với văn bản.

Sự kiện onmouseover kích hoạt khi bạn đưa chuột qua bất kỳ phần tử nào và trình kích hoạt onmouseout khi bạn di chuyển chuột ra khỏi phần tử đó. Hãy thử ví dụ sau.
<html>
   <head>
   
      <script type="text/javascript">
         <!--
            function over() {
               document.write ("Mouse Over");
            }
            
            function out() {
               document.write ("Mouse Out");
            }
            
         //-->
      </script>
      
   </head>
   <body>
      <p>Bring your mouse inside the division to see the result:</p>
      
      <div onmouseover="over()" onmouseout="out()">
         <h2> This is inside the division </h2>
      </div>
         
   </body>
</html>

Đầu ra

Sự kiện tiêu chuẩn HTML 5

Các sự kiện HTML 5 chuẩn được liệt kê ở đây để bạn tham khảo. Ở đây kịch bản chỉ ra một chức năng Javascript được thực hiện đối với sự kiện đó.

Thuộc tínhGiá trịSự miêu tả
Ngoại tuyếnkịch bảnKích hoạt khi tài liệu ngoại tuyến
Onabortkịch bảnKích hoạt trên một sự kiện hủy bỏ
onafterprintkịch bảnKích hoạt sau khi tài liệu được in
onbeforeonloadkịch bảnKích hoạt trước khi tải tài liệu
onbeforeprintkịch bảnKích hoạt trước khi tài liệu được in
onblurkịch bảnKích hoạt khi cửa sổ mất tiêu điểm
oncanplaykịch bảnKích hoạt khi phương tiện có thể bắt đầu phát nhưng có thể phải dừng để lưu vào bộ đệm
incanplaythroughkịch bảnKích hoạt khi phương tiện có thể được phát đến hết, mà không dừng lại để đệm
trao đổikịch bảnKích hoạt khi một phần tử thay đổi
trong một cái nhấp chuộtkịch bảnKích hoạt khi nhấp chuột
oncontextmenukịch bảnKích hoạt khi một menu ngữ cảnh được kích hoạt
ondblclickkịch bảnKích hoạt trên một con chuột nhấp đúp
ondragkịch bảnKích hoạt khi một phần tử được kéo
ondragendkịch bảnKích hoạt ở phần cuối của thao tác kéo
ondragenterkịch bảnKích hoạt khi một phần tử đã được kéo đến một mục tiêu thả hợp lệ
ondragleavekịch bảnKích hoạt khi một phần tử đang được kéo qua một mục tiêu thả hợp lệ
ondragoverkịch bảnKích hoạt khi bắt đầu thao tác kéo
ondragstartkịch bảnKích hoạt khi bắt đầu thao tác kéo
ondropkịch bảnKích hoạt khi phần tử đã kéo đang bị loại bỏ
ondurationchangekịch bảnKích hoạt khi độ dài của vật liệu thay đổi
khinh thườngkịch bảnKích hoạt khi một phần tử tài nguyên phương tiện đột nhiên trở nên trống rỗng.
được sửa đổikịch bảnKích hoạt khi phương tiện đã kết thúc
onerrorkịch bảnKích hoạt khi xảy ra lỗi
vào trọng tâmkịch bảnKích hoạt khi cửa sổ được lấy nét
onformchangekịch bảnKích hoạt khi biểu mẫu thay đổi
onforminputkịch bảnKích hoạt khi biểu mẫu nhận dữ liệu nhập của người dùng
onhaschangekịch bảnKích hoạt khi tài liệu đã thay đổi
oninputkịch bảnKích hoạt khi một phần tử nhận được đầu vào của người dùng
NULLkịch bảnKích hoạt khi một phần tử không hợp lệ
onkeydownkịch bảnKích hoạt khi nhấn một phím
onkeypresskịch bảnKích hoạt khi một phím được nhấn và nhả
onkeyupkịch bảnKích hoạt khi một phím được giải phóng
đang tảikịch bảnKích hoạt khi tải tài liệu
onloadeddatakịch bảnKích hoạt khi dữ liệu phương tiện được tải
onloadedmetadatakịch bảnKích hoạt khi thời lượng và dữ liệu phương tiện khác của phần tử phương tiện được tải
onloadstartkịch bảnKích hoạt khi trình duyệt bắt đầu tải dữ liệu truyền thông
onmessagekịch bảnKích hoạt khi thông báo được kích hoạt
onmousedownkịch bảnKích hoạt khi nhấn một nút chuột
onmousemovekịch bảnKích hoạt khi con trỏ chuột di chuyển
onmouseoutkịch bảnKích hoạt khi con trỏ chuột di chuyển ra khỏi phần tử
onmouseoverkịch bảnKích hoạt khi con trỏ chuột di chuyển qua một phần tử
onmouseupkịch bảnKích hoạt khi một nút chuột được nhả
onmousewheelkịch bảnKích hoạt khi bánh xe chuột đang được xoay
onofflinekịch bảnKích hoạt khi tài liệu ngoại tuyến
onoinekịch bảnKích hoạt khi tài liệu trực tuyến
ononlinekịch bảnKích hoạt khi tài liệu trực tuyến
onpagehidekịch bảnKích hoạt khi cửa sổ bị ẩn
onpageshowkịch bảnKích hoạt khi cửa sổ hiển thị
tạm dừngkịch bảnKích hoạt khi dữ liệu phương tiện bị tạm dừng
diễn xuấtkịch bảnKích hoạt khi dữ liệu phương tiện sẽ bắt đầu phát
diễn xuấtkịch bảnKích hoạt khi dữ liệu phương tiện đã bắt đầu phát
onpopstatekịch bảnKích hoạt khi lịch sử của cửa sổ thay đổi
onprogresskịch bảnKích hoạt khi trình duyệt đang tìm nạp dữ liệu phương tiện
onratechangekịch bảnKích hoạt khi tỷ lệ phát của dữ liệu truyền thông đã thay đổi
onreadystatechangekịch bảnKích hoạt khi các thay đổi trạng thái sẵn sàng
onredokịch bảnKích hoạt khi tài liệu thực hiện một thao tác làm lại
onresizekịch bảnKích hoạt khi cửa sổ được thay đổi kích thước
đăng kýkịch bảnKích hoạt khi thanh cuộn của một phần tử đang được cuộn
được tìm kiếmkịch bảnKích hoạt khi thuộc tính tìm kiếm của phần tử truyền thông không còn đúng và tìm kiếm đã kết thúc
onseekingkịch bảnKích hoạt khi thuộc tính tìm kiếm của phần tử truyền thông là đúng và tìm kiếm đã bắt đầu
onselectkịch bảnKích hoạt khi một phần tử được chọn
onstalledkịch bảnKích hoạt khi có lỗi khi tìm nạp dữ liệu phương tiện
onstoragekịch bảnKích hoạt khi một tài liệu tải
tiện íchkịch bảnKích hoạt khi một biểu mẫu được gửi
onsuspendkịch bảnKích hoạt khi trình duyệt đang tìm nạp dữ liệu đa phương tiện nhưng đã dừng trước khi toàn bộ tệp phương tiện được tìm nạp
ontimeupdatekịch bảnKích hoạt khi phương tiện thay đổi vị trí phát của nó
onundokịch bảnKích hoạt khi một tài liệu thực hiện hoàn tác
onunloadkịch bảnKích hoạt khi người dùng rời khỏi tài liệu
onvolumechangekịch bảnKích hoạt khi phương tiện thay đổi âm lượng, cũng khi âm lượng được đặt thành "tắt tiếng"
onwaitingkịch bảnKích hoạt khi phương tiện đã ngừng phát, nhưng dự kiến ​​sẽ tiếp tục

Lập trình Java - Ngoại lệ

Một ngoại lệ (hoặc sự kiện đặc biệt) là một vấn đề phát sinh trong quá trình thực hiện chương trình. Khi xảy ra Ngoại lệ , luồng bình thường...