Làm cách nào để xóa URL khỏi trang in?


102

Tôi muốn xóa URL được in ở cuối trang.

giống:

yomari.com/.../main.php?sen_n

Làm thế nào nó có thể được bỏ qua hoặc ngăn không cho in?

Để cụ thể hơn, có cách nào tôi có thể ngăn URL trang, ngày tháng và tiêu đề trang được in dọc trong khi in trang web không?


3
Điều đó có thể được thực hiện theo chương trình không? Nó thực sự là một thiết lập trang trình duyệt!
Shoban

Hoàn toàn là một thứ 'thiết lập trang trình duyệt'. Nhưng tôi thấy hướng dẫn này hơi hữu ích cho CSS trang in.
Mayeenul Islam, 30/12/12

Câu trả lời:


123

Mẫu mã sau sẽ phù hợp với bạn,

<style type="text/css" media="print">
@page {
    size: auto;   /* auto is the initial value */
    margin: 0;  /* this affects the margin in the printer settings */
}
</style>

xem câu trả lời về Tắt tùy chọn in của trình duyệt (đầu trang, chân trang, lề) từ trang?

đặc tả của @page


3
Trên Firefox 20.0, điều này không xóa URL khỏi Bản xem trước
Mirzhan Irkegulov.


Câu trả lời chính xác. Thậm chí tốt hơn, chỉ cần đặt lề dưới, ví dụ:margin-bottom: 0mm;
CompanyDroneFromSector7G

2
Điều này thực sự đã hoạt động trên Firefox 50 của tôi @MirzhanIrkegulov
aexl 3/12/16

Người bắt đầu chủ đề đã hỏi cách loại bỏ màu trên và dưới (tiêu đề số trang url) mà một trình duyệt thêm vào trong quá trình xem trước bản in.
Pavel Nazarov

39

tôi đã tìm thấy thứ gì đó trong chính trình duyệt.

Hãy thử các bước này. ở đây tôi đã được đề cập đến Các bước để tắt Đầu trang và chân trang trong cả ba trình duyệt chính.

Chrome Nhấp vào biểu tượng Menu ở góc trên cùng bên phải của trình duyệt. Nhấp vào In. Bỏ chọn Đầu trang và Chân trang trong phần Tùy chọn.

Firefox Nhấp vào Firefox ở góc trên cùng bên trái của trình duyệt. Đặt chuột lên Print, nhấp vào Page Setup. Nhấp vào tab Lề & Đầu trang / Chân trang. Thay đổi từng giá trị trong Đầu trang & Chân trang thành --blank--.

Internet Explorer Nhấp vào biểu tượng Bánh răng ở góc trên cùng bên phải của trình duyệt. Đặt chuột lên Print, sau đó nhấp vào Page Setup. Thay đổi từng giá trị trong Đầu trang và Chân trang thành -Empty-.


18

Việc hiển thị URL là một tùy chọn của ứng dụng khách của trình duyệt, không thể truy cập vào các tập lệnh đang chạy trong trang (hãy đối mặt với điều đó, một trang cũng không thể tự in một cách âm thầm).

Để tránh "rò rỉ" thông tin qua chuỗi truy vấn, bạn có thể gửi qua ĐĂNG


1
noooo ... POST không phải là một cơ chế mã hóa - đó là một gợi ý về các tác dụng phụ có thể có của yêu cầu.
troelskn

Thay vì in một chuỗi truy vấn dài nhiều dòng. Tôi rất vui khi chỉ in url
Shoban

chuỗi truy vấn là một phần của url. nếu url quá dài, bạn nên sửa nó.
troelskn

4
Tôi không nói rằng đó là một điều mã hóa - nó loại bỏ các tham số truy vấn từ URL, đó là một yếu tố giảm nhẹ yêu cầu
Rowland Shaw

11

Nếu bạn đặt lề cho một trang bằng cách sử dụng mã bên dưới đầu trang và chân trang bị bỏ qua khỏi trang in. Tôi đã thử nghiệm điều này trong FireFox và Chrome.

<style media="print">
 @page {
  size: auto;
  margin: 0;
       }
</style>

1
Lưu ý rằng điều này sẽ loại bỏ lề giữa các trang trong Firefox. Ví dụ: i.imgur.com/krDlC1K.png
Blaise,

8

Tôi đang nói với bạn về Mozilla Firefox (tôi hy vọng nó cũng sẽ giống như vậy trong các trình duyệt khác).

Nhấp vào trình đơn Firefox , Đi tới In , Chọn Thiết lập Trang từ trình đơn phụ của In. Một cửa sổ bật lên sẽ xuất hiện trên màn hình của bạn, hãy chuyển đến tab "Lề & Đầu trang / Chân trang" .

Trong đó chọn "BLANK" cho đầu trang / chân trang theo yêu cầu trước khi in. Bạn có thể kiểm tra bản xem trước để xác nhận.

Hy vọng điều này có thể giúp cho bạn.


7

Điều này đã giúp tôi: In trang mà không có liên kết

@media print {
    a[href]:after {
        content: none !important;
    }
}

bạn có thể vui lòng giải thích điều này
M.suleman Khan

Điều này không hiệu quả với tôi
Sarah

Tôi gặp sự cố với các siêu liên kết bootstrap hiển thị nội dung href của nó trên trang in. Giải pháp này đã giúp tôi khắc phục sự cố.
Mohsin

3

Bạn có thể xóa url gây bất bình đẳng trên tài liệu in thông qua cài đặt trình duyệt của mình. Bạn chỉ cần nhấp vào tệp-> thiết lập trang-> đầu trang và chân trang đặt tất cả mọi thứ thành trống. Nếu bạn không muốn, tức là bạn chỉ cần xóa & U khỏi hộp văn bản chân trang. Rất may điều này sẽ giúp bạn


2

Tôi không biết bạn đang nói về chân trang trong hình ảnh thực tế của bạn hay url mà quá trình in trong trình duyệt đang thực hiện.

Nếu url của nó, quá trình in thực sự phụ thuộc vào trình duyệt nếu anh ta có một tính năng để tắt nó.

Nếu đó là thông tin chân trang, tôi khuyên bạn nên sử dụng biểu định kiểu in và trong biểu định kiểu đó để làm

display: none;

Đối với ID hoặc lớp cụ thể của chân trang.

Để thực hiện một biểu định kiểu in, bạn cần thêm phần này vào phần đầu.

<link rel="stylesheet" type="text/css" href="/css/print.css" media="print" />

2

Ngày nay, bạn có thể sử dụng history APIđể sửa đổi URL trước khi in, sau đó thay đổi lại:

var curURL = window.location.href;
history.replaceState(history.state, '', '/');
window.print();
history.replaceState(history.state, '', curURL);

Nhưng bạn cần tạo một PRINTnút tùy chỉnh để người dùng nhấp vào.


Sử dụng giải pháp của bạn, tôi vẫn thấy " domain-name.com " được in ở góc trên cùng bên phải. Nó đã loại bỏ mọi thứ sau đó.
Tod Birdsall

1

Trong Google Chrome, điều này có thể được thực hiện bằng cách đặt lề thành 0 hoặc nếu nó in có màu sắc sặc sỡ, sau đó điều chỉnh nó vừa đủ để đẩy văn bản không mong muốn đến những vùng không thể in được của trang. Tôi đã thử nó và nó hoạt động: D

nhập mô tả hình ảnh ở đây


1

Sự cố trình duyệt nhưng có thể được giải quyết bằng những cách sau:

<style type="text/css" media="print">
      @media print
      {
         @page {
           margin-top: 0;
           margin-bottom: 0;
         }
         body  {
           padding-top: 72px;
           padding-bottom: 72px ;
         }
      } 
</style>

Được ủng hộ vì bạn bao gồm CSS giúp đặt lợi nhuận trở lại. Cám ơn!
Tod Birdsall

0

Tôi sẽ đồng ý với hầu hết các câu trả lời nói rằng cài đặt trình duyệt của nó nhưng bạn vẫn có thể đạt được những gì bạn muốn thông qua COM. Hãy nhớ rằng hầu hết các trình duyệt sẽ vẫn gặp vấn đề với điều đó và ngay cả IE cũng sẽ nâng cao thanh bảo mật COM cho người dùng. Vì vậy, trừ khi nó không phải là thứ bạn đang cung cấp trong tổ chức, đừng làm điều đó.


0

Tôi có cùng một vấn đề. Tôi tự hỏi liệu có thể tạo HTML để in qua plugin jquery không: http://www.recoding.it/?p=138

Sau đó, gửi HTML tới tập lệnh php (sử dụng lệnh gọi ajax), tạo pdf bằng http://www.xhtml2pdf.com/ hoặc http://code.google.com/p/wkhtmltopdf/ .

Sau đó, pdf có thể được hiển thị (bằng cách đặt loại nội dung thích hợp và hiển thị trực tiếp) hoặc hiển thị bằng http-Chuyển hướng đến pdf được tạo.

Các pdf được tạo trong thư mục pfd_for_printing-có thể hoạt động như bộ nhớ cache và bị xóa bởi một công việc mỗi ngày một lần.


Tôi muốn in một phần của trang (với các kiểu) sang PDF ... Làm cách nào để đạt được điều đó? stackoverflow.com/questions/25082395/…
SearchForKnowledge

0

Trên Chrome 57, điều sau đây phù hợp với tôi, nếu bạn có quyền kiểm soát trang HTML cần được in (trong trường hợp của tôi, tôi cần in một nhãn nhỏ 3x1 inch):

  • xóa phần tử tiêu đề HTML khỏi tiêu đề (tạm thời sử dụng jquery hoặc vĩnh viễn nếu trang đó không thực sự cần tiêu đề)
  • đặt lề @page thành 0 như được đề cập bởi @Chamika Sandamal

Điều này dẫn đến việc in một trang chỉ chứa nội dung, không có URL, không có số trang, v.v.


0
<style type="text/css" media="print">
  @page {
    size: auto;  
    margin: 0;  
  }
</style>
//now set manual padding to body
<style>
  body{
    padding-left: 1.3cm;
    padding-right: 1.3cm; 
    padding-top: 1.1cm;
  }
</style>

mã này chỉ loại bỏ lề. đó là lý do tại sao url không hiển thị. nhưng khi bạn sử dụng mã này, bạn sẽ mất số trang.
Pramod Deshmukh

tôi chỉ muốn xóa url trang trên bản in chứ không phải số trang
Pramod Deshmukh


0

Điều này đang hoạt động tốt đối với tôi bằng cách sử dụng jquery

<style>
  @media print { @page { margin: 0; } 
   body { margin: 1.6cm; } }
</style>

-1

Có lẽ bạn có thể thử chrome (Cũng có thể là Safari)

Url và số trang trong đầu trang và chân trang không hiển thị khi tôi in sang pdf trên OSX bằng Google Chrome.

Xin lỗi, không chắc điều này có áp dụng cho windows không


-1

Tôi có một thủ thuật để xóa nó khỏi trang in trong Firefox. Dùng cái này:

<html moznomarginboxes mozdisallowselectionprint>

Trong thẻ html bạn phải sử dụng moznomarginboxes mozdisallowselectionprint. Tôi chắc chắn rằng nó sẽ giúp bạn rất nhiều.


-1
@media print {
    #Header, #Footer { display: none !important; }
}

Kiểm tra liên kết này


1
Xin chào, chào mừng bạn đến với SO, cảm ơn bạn đã cố gắng trả lời câu hỏi này. Bạn có thể cung cấp thêm lời giải thích đằng sau câu trả lời của bạn và logic đằng sau bản sửa lỗi của bạn không? Chúc mừng!
James Wong - Phục hồi Monica

Xin chào, Cảm ơn, điều này hoạt động hoàn hảo trong chrome (ít nhất), tôi không biết tại sao mọi người lại bình chọn giải pháp hoàn hảo này.
Saman

-1

Đây sẽ là giải pháp đơn giản nhất. Tôi đã thử hầu hết các giải pháp trên internet nhưng chỉ điều này mới giúp được tôi.

@print {
    @page :footer {
        display: none
    }

    @page :header {
        display: none
    }
}

1
Điều này hoạt động trong trình duyệt nào? Trong Chrome 80, nó không hoạt động.
Ruben S

-3

Chà, tôi đã tìm kiếm khắp nơi vì tôi cần câu trả lời cho tôi và các dự án của mình, và đi đến kết luận rằng, thực tế, bất kể thông tin nào bạn hiển thị trong địa chỉ url của nó lên đến:

if (!$_SESSION["valid_user"]) 

Vì vậy, ngay cả khi ai đó chỉ cần nhập địa chỉ chính xác từ trang in của bạn, anh ta sẽ nhận được .... Trang đăng nhập :)

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.