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
10
Help us understand the problem. What is going on with this article?
@munieru_jp

ツイートボタンがないページでもツイート画面を開くブックマークレット

More than 1 year has passed since last update.

今見ているウェブページを共有するためのツイート画面を開くブックマークレットをつくりました。
ブックマークレットの使用方法については、使用している端末やブラウザによって異なるので、各自でググってください。
各ブックマークレットのツイート内容は、<タイトル> <URL>です。

ツイートダイアログを開く

ブックマークレット
javascript:(function(){var w=550,h=420;window.open("https://twitter.com/intent/tweet?text="+encodeURIComponent(document.title)+" "+encodeURIComponent(location.href),"_blank","width="+w+",height="+h+",left="+(screen.width-w)/2+",top="+(screen.height-h)/2+",scrollbars=yes,resizable=yes,toolbar=no,location=yes")})()

ブックマークレットを実行すると、ツイートダイアログを開きます。
ツイートボタンとほぼ同じ動作です。

新規タブでツイート画面を開く

ブックマークレット
javascript:window.open("https://twitter.com/intent/tweet?text="+encodeURIComponent(document.title)+" "+encodeURIComponent(location.href))

ブックマークレットを実行すると、新規タブでツイート画面を開きます。

Twitterアプリのツイート画面を開く

ブックマークレット
javascript:location.href="twitter://post?message="+encodeURIComponent(document.title)+" "+encodeURIComponent(location.href)

スマートフォン(iPhone、Android)でブックマークレットを実行すると、Twitterアプリのツイート画面を開きます。
URLスキームという仕組みで、通常はhttphttpsなどのプロトコルを指定するスキーム部に、twitterのようなアプリ固有のスキームを指定することで、そのアプリを開くことができます。
TwitterのURLスキームには複数のオプションがあり、今回はツイート画面を開くpostを使用しています。

10
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
munieru_jp
江戸川区在住のアプリケーションエンジニア
decrements
We build nothing to not enhance software development.

Comments

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