Tôi có thể thêm hoặc thay đổi HTML khi trong 'Kiểm tra phần tử' không?


0

Tôi có thể thêm hoặc thay đổi HTML khi trong 'Kiểm tra phần tử'. Tôi có nút liên kết 'Trang chủ' mà tôi muốn sửa đổi liên kết. Tôi đã sử dụng tùy chọn nhấp chuột phải nhưng thay đổi của tôi không được lưu?


Bạn đang nói về tính năng "Kiểm tra yếu tố" của Chrome? Bạn có thể sử dụng điều đó để thử các thay đổi, nhưng không có cách nào để lưu các thay đổi vào máy chủ từ xa.
Dennis Williamson

Câu trả lời:


3

Bạn không nói bạn đang dùng trình duyệt nào, nhưng nếu đây là chrome, câu trả lời là có.

Sau khi bạn đã chọn một yếu tố, nhấp chuột phải và chọn "chỉnh sửa HTML"

Tuy nhiên, xin lưu ý rằng điều này sẽ không lưu trang web hoặc bất cứ điều gì khác, nó chỉ chỉnh sửa bản sao địa phương của bạn. Nếu bạn làm mới trang, nó sẽ trở lại như cũ. văn bản thay thế


1

Như những người khác đã nói, bạn có thể thay đổi liên kết bằng cách sử dụng Inspect Element, nhưng thay đổi sẽ không được lưu vào lần tải trang tiếp theo.

Nếu bạn muốn thay đổi liên kết mỗi lần bạn mở trang, bạn có thể sử dụng Greasemonkeyhoặc các tiện ích bổ sung tương tự khác tùy thuộc vào trình duyệt bạn đang sử dụng. (Đối với Firefox, bạn có thể sử dụng Greasemonkey).

Đây là một Greasemonkeykịch bản nên làm những gì bạn muốn:

// ==UserScript==
// @name        Test-SU-236831-edit-link
// @namespace   Test-SU
// @description Test-SU-236831-edit-link
// @include     http://superuser.com/questions/236831/*
// @include     http://www.superuser.com/questions/236831/*
// @version     1
// @grant       none
// ==/UserScript==

  var GMnode,GMelID,GMmsg="";
  GMelID="nav-questions";
  GMnode=document.getElementById(GMelID);
  if((GMnode!==null)&&(GMnode.hasAttribute("href"))){
    GMmsg="OLD getAttribute-href="+GMnode.getAttribute("href")+"\n";
    GMnode.setAttribute("href","http://www.google.com/");
    GMmsg=GMmsg+"NEW getAttribute-href="+GMnode.getAttribute("href");
    alert(GMmsg);
  }
  else{
    alert("Can't find <a> element with id='"+GMelID+"'");
  }

Kịch bản trên có một số câu lệnh "gỡ lỗi" trong đó để bạn có thể thấy những gì đang xảy ra khi tải trang. Đây là cùng một kịch bản mà không có câu lệnh "gỡ lỗi":

// ==UserScript==
// @name        Test-SU-236831-edit-link
// @namespace   Test-SU
// @description Test-SU-236831-edit-link
// @include     http://superuser.com/questions/236831/*
// @include     http://www.superuser.com/questions/236831/*
// @version     1
// @grant       none
// ==/UserScript==

  var GMnode,GMelID;
  GMelID="nav-questions";
  GMnode=document.getElementById(GMelID);
  if((GMnode!==null)&&(GMnode.hasAttribute("href"))){
    GMnode.setAttribute("href","http://www.google.com/");
  }

Trong trường hợp bạn không quen thuộc Greasemonkey, để sử dụng tập lệnh trên, trước tiên bạn sẽ phải cài đặt Greasemonkeytiện ích bổ sung, sau đó thêm tập lệnh trên dưới dạng tập lệnh mới User Script.

Bạn có thể thay đổi @name, @namespace@descriptioncác lĩnh vực để bất cứ điều gì bạn muốn chuỗi để nhận dạng duy nhất User Script.

Thay đổi @includetrường để xác định URL mà bạn muốn User Scripthành động. Bạn có thể có nhiều hơn một @includelĩnh vực.

Greasemonkeysẽ chạy và hành động trên trang web sau khi tài liệu "Sẵn sàng", nghĩa là sau khi toàn bộ trang bao gồm <Body>và tất cả các tập lệnh bên ngoài đã được tải, nhưng trước khi tài nguyên trang như hình ảnh và một số tập lệnh được tải động được tải. Có những bước bạn có thể thực hiện để đảm bảo Greasemonkeychờ tất cả các tài nguyên khác này tải trước khi chạy mã của mình. Bạn sẽ làm điều này bằng cách thêm một eventlistenerđể thực thi mã của bạn sau onloadsự kiện. Trong hầu hết các trường hợp, điều này sẽ không cần thiết, nhưng trong trường hợp nó dành cho trang web mục tiêu của bạn, đây là Greasemonkeykịch bản cho điều đó:

// ==UserScript==
// @name        Test-SU-236831-edit-link
// @namespace   Test-SU
// @description Test-SU-236831-edit-link
// @include     http://superuser.com/questions/236831/*
// @include     http://www.superuser.com/questions/236831/*
// @version     1
// @grant       none
// ==/UserScript==

  if (window.addEventListener) {
    window.addEventListener('load', readytogo, false);
  }
  else {
    if (window.attachEvent) {
      window.attachEvent('onload', readytogo);
    }
  }

  function readytogo() {
    var GMnode,GMelID;
    GMelID="nav-questions";
    GMnode=document.getElementById(GMelID);
    if((GMnode!==null)&&(GMnode.hasAttribute("href"))){
      GMnode.setAttribute("href","http://www.google.com/");
    }
  }
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.