Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
6
Help us understand the problem. What is going on with this article?
@otchy

Gmail の仕様変更で表示されなくなったイントラネットの画像を表示するブックマークレット

More than 5 years have passed since last update.

Gmail が仕様変更して、メール内の画像を Google のプロキシを通じて表示するようになりました。
記事としては、GoogleがGmailの添付画像を自動表示可能に。 プロキシサーバを介しての配信でセキュリティ確保。とか、Gmail、メッセージに含まれる画像を自動表示するよう変更とか。

セキュリティの担保と利便性の向上っていう目的は分かるのですが、この措置により Google のプロキシがアクセスできないイントラネット上の画像が表示できない、という問題が発生しています。

…というのを解決するブックマークレット書きました。セキュリティを担保する、という Google の意志を尊重して、あえて自動化せずブックマークレットにしています。利用は自己責任で!
また、今のところ自分の目的では事足りていますが、もし画像の置換漏れがあれば、解説を参考に適宜追加したら良いと思います。

javascript:(function(d,ex){NodeList.prototype.each=Array.prototype.forEach;d.$=d.querySelectorAll;d.$('img[src*="googleusercontent.com"]').each(function(e){e.src=e.src.replace(ex,"\$1")});d.$('*[style*="googleusercontent.com"]').each(function(e){e.style.backgroundImage=e.style.backgroundImage.replace(ex,"\$1")})})(document,/https?:\/\/.*\.googleusercontent\.com\/[^#]+#([^\)"]+)/);

解説

// document オブジェクトと後で使う RegExp オブジェクトを受け取る
(function(d, ex){
    // NodeList が forEach 持って無いので Array から移植
    NodeList.prototype.each = Array.prototype.forEach; 
    // quarySelectorAll 長ったらしいので省略
    d.$ = d.querySelectorAll;
    // img 要素内の src 部分を置換
    d.$('img[src*="googleusercontent.com"]').each(function(e){
        e.src = e.src.replace(ex, "\$1");
    });
    // style の background で画像を指定しているところを置換
    d.$('*[style*="googleusercontent.com"]').each(function(e){
        e.style.backgroundImage = e.style.backgroundImage.replace(ex, "\$1");
    });
// 正規表現で Google のプロキシとその URL の後ろについているオリジナルの URL を取り出す
})(document, /https?:\/\/.*\.googleusercontent\.com\/[^#]+#([^\)"]+)/);
6
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
otchy
1979 年 2 月 10 日生まれ / 仕事: Web システム開発 / 好きなもの: IT 全般、科学分野 / 座右の銘: 明日は明日の風が吹く / 好きな言葉: ハードルは高ければ高いほどくぐりやすい

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
6
Help us understand the problem. What is going on with this article?