質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

2849閲覧

ツイッターでツイートする内容をJavascriptで変更する

10morokoshi

総合スコア14

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2017/09/05 07:44

編集2017/09/05 08:25

いつもお世話になっております。
ホームページに、ボタンをクリックすると複数の乱数が表示される(さいころ)javascriptを設置しているのですが、その結果をツイートするのにどうすればいいのか手こずっております。

(ransuu()の内容はここに書きこむために少し変更しているためおかしい点が出るかもしれませんが、乱数の結果は正しく表示されます。)

JavaScript

1function ransuu() { 2 3 var dataset1 = []; 4 for(var i1=0; i1<3; i1++){ 5 var ar1 = (Math.floor(Math.random()*100 + 1)); 6 dataset1.push(ar1); 7 } 8 document.getElementById('dice1').innerHTML =(dataset1); 9 10 var sum1=0; 11 for(var i1=0;i1<dataset1.length;i1++){ 12 sum1+=dataset1[i1]; 13 } 14 document.getElementById('dicesum1').innerHTML =(sum1); 15 16 var dataset2 = []; 17 for(var i2=0; i2<3; i2++){ 18 var ar2 = (Math.floor(Math.random()*100 + 1)); 19 dataset2.push(ar2); 20 } 21 document.getElementById('dice2').innerHTML =(dataset2); 22 23 var sum2=0; 24 for(var i2=0;i2<dataset2.length;i2++){ 25 sum2+=dataset2[i2]; 26 } 27 document.getElementById('dicesum2').innerHTML =(sum2); 28 29 30 var dataset3 = []; 31 for(var i3=0; i3<3; i3++){ 32 var ar3 = (Math.floor(Math.random()*100 + 1)); 33 dataset3.push(ar3); 34 } 35 document.getElementById('dice3').innerHTML =(dataset3); 36 37 var sum3=0; 38 for(var i3=0;i3<dataset3.length;i3++){ 39 sum3+=dataset3[i3]; 40 } 41 document.getElementById('dicesum3').innerHTML =(sum3); 42 43 44 var kekka = "結果 1:"+ sum1 + "2:"+ sum2 + "3:"+ sum3; 45 document.getElementById('twitter').innerHTML =(kekka); 46 47} 48 49//ツイートボタン 50$('#twitterbutton').click(function() { 51 var twitter_text = document.getElementById("twitter").innerHTML; 52 var twitter_url = ("結果は→" + twitter_text + "です"); 53 window.open().location.href = ("https://twitter.com/share?text=" + twitter_url + "&count=none&lang=ja"); 54}); 55 56

Html

1 2<input type="button" value="乱数" onclick="ransuu();"> 3<span id="dicesum1">1の結果</span> 4<span id="dicesum2">2の結果</span> 5<span id="dicesum3">3の結果</span> 6<!-- クリックで同時に現れる↑ --> 7<a id="twitterbutton" class="btn">結果をツイートする</a> 8☆このとき、ツイート内容が「結果は→結果 1:1の結果 2:2の結果 3:3の結果です」になってほしい 9

この際に恐らくherfへの受け渡しが上手くいっていないようで(ページ上の表示はスタイルシート通りのリンク文字になるのですが、リンクされていない)
複数の結果を入れようとしているのが問題で、書き方などに間違いだあるのだと思います。(1つの結果だけを出そうとすると上手くいきました)
しかし、具体的にどう直せば解決するのかがわかりません。
御教授いただけますと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ポップアップブロックの問題が解決されているなら、

javascript

1window.open().location.href = ("https://twitter.com/share?text=" + encodeURIComponent(twitter_url) + "&count=none&lang=ja");

でいけそうな気がします。

投稿2017/09/05 07:55

Lhankor_Mhy

総合スコア36074

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

10morokoshi

2017/09/05 08:08

お早い回答本当にありがとうございます! ポップアップブロックは許可済で試したのですが、リンクされませんでした(T_T) 確かに、文字列の変換もしなくてはなりませんよね。。調べてみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問