2015-07-26 12 views
15

Tôi nhận thấy rằng nếu tôi có tab gmail mở với chế độ xem cuộc hội thoại bật/tắt, sau đó tôi mở một tab khác và thay đổi cài đặt chế độ xem cuộc hội thoại, tab gốc của tôi vẫn nằm trong trạng thái xem cuộc hội thoại bắt đầu như khi thực hiện tìm kiếm mới v.v. và tab mới sử dụng cài đặt tôi vừa thay đổi thành.Chế độ xem cuộc hội thoại của Gmail chuyển đổi bookmarketlet/favelet/"tập lệnh"

Điều này khiến tôi nghĩ rằng có thể có một số JavaScript bookmarklet/favelet/"tập lệnh" có thể dễ dàng cho phép chúng tôi thay đổi cài đặt cho tab gmail đã cho tạm thời mà không cần phải đi vào cài đặt.

Có ai biết điều này đã tồn tại hoặc có ai có thể tạo ra nó không? Suy nghĩ của tôi là chụp một gmail với nó và tắt nó đi và làm một cái khác/winmerge trên cả hai để xem cái gì khác và lấy nó từ đó, nhưng tôi hy vọng ai đó đã tạo ra nó =).

Trả lời

7

tôi sẽ nhìn vào js gmail và thực hiện một bookmarklet: P

Edit: dường như js là obfuscated Rất nhiều, sao chép các chức năng từ js gốc là gonna được khó khăn ...

Tôi sẽ kiểm tra xem những thay đổi html nằm giữa hai quan điểm và tự viết hàm js để áp dụng những thay đổi đó.

tôi đã đi và thay vào đó đã làm cho nó một chút khác nhau, tôi đã viết một số js mà không thực sự là điều mà bạn sẽ làm cho mình (nó mô phỏng sẽ thiết lập và thay đổi chúng):

switch_conv_view = function() { 
    //Go to settings 
    window.location.href = "https://mail.google.com/mail/u/0/#settings/general"; 
    setTimeout(function(){ 
     //Change view 
     $("tbody tr:nth-child(7) table input:not(:checked)").click(); 
     //Save changes (google takes care of redirect) 
     $("[guidedhelpid=save_changes_button]").click(); 
    }, 1000); 
} 

Cập nhật:

tôi đã thực hiện một jsfiddle với một liên kết có thể được kéo vào thanh bookmark:

https://jsfiddle.net/seahorsepip/j5exk7nw/

tôi thay thế mã jquery với js tinh khiết vì jquery trên gmail chính nó dường như không hoạt động đúng.

Mã bookmarklet:

javascript: 
window.location.href = "https://mail.google.com/mail/u/0/#settings/general"; 
setTimeout(function(){ 
    document.querySelector("tbody tr:nth-child(7) table input:not(:checked)").click(); 
    document.querySelector("[guidedhelpid=save_changes_button]").click(); 
}, 1000); 

Phương pháp này khá đơn giản và không ngay lập tức một trong hai (mất 1 giây), bên cạnh đó nó không lưu vị trí hiện tại và trang web mà bạn đang ở.

+0

trình khá tốt - nhờ – sa289

+0

Tôi thích bounties haha ​​ – seahorsepip

+0

Điều này thật tuyệt vời. Cảm ơn seahorsepip. Đã có một chủ đề trên diễn đàn yêu cầu tính năng đề xuất cho một phòng thí nghiệm của Google trong 4 năm và bạn đã thực hiện nó với 2 dòng javascript. Bravo. – danielpops

3

Cài đặt đã lưu chỉ là tải lại mã JS theo cách bạn muốn, vì vậy bạn có thể sửa đổi dễ dàng. seahorsepip đã làm một tốt trên đó, nếu bạn cần một kịch bản mỡ tùy chỉnh để cài đặt để chrome của bạn tôi sẽ được vui để giúp đỡ.

0

Giải pháp mới cho năm 2018 (xem Javascript Bookmarklet to toggle Gmail Conversation View).

này sẽ chuyển đổi hiện trạng On/Off and Save:

window.location.href = "https://mail.google.com"+window.location.pathname+"#settings/general"; 
sBase="div.AO table tbody tr:nth-child(8) table:nth-of-type("; 
sOn=sBase+"1) input"; 
sOff=sBase+"2) input"; 
setTimeout(function(){ 
    if (document.querySelector(sOff).checked) 
     document.querySelector(sOn).click(); 
    else 
     document.querySelector(sOff).click(); 
    document.querySelector("[guidedhelpid=save_changes_button]").click(); 
}, 1000); 

Vì vậy bookmarklet bạn sẽ là:

javascript:window.location.href="https://mail.google.com"+window.location.pathname+"#settings/general";sBase="div.AO table tbody tr:nth-child(8) table:nth-of-type(";sOn=sBase+"1) input";sOff=sBase+"2) input";setTimeout(function(){if(document.querySelector(sOff).checked) document.querySelector(sOn).click();else document.querySelector(sOff).click();document.querySelector("[guidedhelpid=save_changes_button]").click()},1000); 

(Cảm ơn, @Zenoo!)

Lưu ý: Nếu bạn có nhiều tài khoản Gmail mở (như tôi) này sẽ làm việc trong cửa sổ hiện tại của bạn (không giống như https://mail.google.com/mail/u/0/#settings/general đó sẽ được chuyển tới tài khoản mặc định của bạn)

Các vấn đề liên quan