HTMLで文字列をクリップボードにコピーする方法

このQ&Aのポイント
  • 簡単な文字列をHTMLを使ってクリップボードにコピーする方法を調べています。
  • IEでHTMLを起動させて、コピペして使いたいのですがうまくいきません。
  • 上記のやり方ではテキストエリアが邪魔な上、ボタンを横に並べたくても縦方向に追加されてしまいます。改行も認識してくれないことがあります。どなたか対処方法を教えていただけると助かります。
回答を見る
  • ベストアンサー

htmlで文字列をクリップボードにコピーしたい

簡単な文字列をHTMLを使ってクリップボードにコピーしたいのですが、なかなかうまくいきません。 IEでHTMLを起動させて、コピペして使いたいのですが。 ポイントは… ・改行しても認識してそのまま文字列をコピーできること ・ボタンを一つのHTMLページ内に複数設置したいこと(なのでおそらく名前をボタンごとにつけるのだと思いますが…) http://auctempnavi.fc2web.com/waza/copy.html 上記のやり方では一応可能でしたが、テキストエリアが邪魔なのと、ボタンを横に並べたくても縦方向に追加されてしまう…という部分で行き詰りました。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q107558700 上記の形だと理由は不明なのですが、改行を認識してくれない。うまく起動するときとしないときがある(もしかしたら名前付けがうまくいっていないのかも知れません) どなたか知恵を貸して頂ければ幸いです。

  • HTML
  • 回答数5
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • outbrave
  • ベストアンサー率60% (231/380)
回答No.5

<input type="button" value="住所" onclick="this.select(); clipboardData.setData('text','[住所]〒000-0000\n○○県○○市○○町\n○-○-○\n[氏名]○○ ○○○\n[TEL]○○○-○○○-○○○○');"> <br> <input type="button" value="番号" onclick="this.select(); clipboardData.setData('text','1234567980');"> <br> <input type="button" value="落札された場合の定型文" onclick="this.select(); clipboardData.setData('text','お世話になります。\nこの度、商品を落札致しました。○○でございます。\n早速ですが、下記に詳細を記載しておりますのでご確認下さい。');"> IE限定ですけど、コピーできます。 ローカルでは(ブロックされているコンテンツを許可)が必要ですが。

aprose
質問者

お礼

色々試したのですが、この方法で成功しました! ただ、ブラウザの問題なのかなんなのか、できない時もなぜかあって、根本解決にはなりませんでした。 ここから先は自分で勉強すべきですね。 ありがとうございました。

その他の回答 (4)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.4

それでしたら、そんな面倒くさい事をせずに じゅうしょ ⇒ 東京都東京市1-1-1 東京ハイツ111 とIMEに単語登録して置けば良いです。  私はウェブ作成しますので   いんよう ⇒ <blockquote cite=""><p></p><address></address></blockquote>   だんらく ⇒ <p></p>   ていぎ ⇒ <dt></dt>  せつめい ⇒ <dd></dd> とかも単語登録してます。

  • outbrave
  • ベストアンサー率60% (231/380)
回答No.3

起動しないというのはわかりませんが、改行は問題無いです、\n と入れてますか。

aprose
質問者

補足

まずこちらの意図がわからないということでしたので…説明させて頂きますと… 懸賞サイトなどに応募するときやオークションで定型分を送る時、いちいち住所等を記入するのが面倒なので、テキストに記入して、それをコピペして使用していました。 例えば… 東京都東京市1-1-1 東京ハイツ111 ***-****-**** といった情報や、オークションのよくあるような定型文です。 これをHTML形式で簡単なツールを作りたいと思ったのがキッカケになります。 そこでテキストを毎回立ち上げて、文字列を選択⇒コピー⇒ペースト…ではなく、ボタンを押すだけでその文字列をコピーしたいと考えました。 それで色々調べたのですが… 東京都東京市1-1-1 東京ハイツ111 等の文字列単体を、一つのHTMLページ内に設置した場合は、ボタンを押すだけでクリップボードにコピー可能で、貼り付けることができました。 が、同じHTMLページ内に複数設置すると、うまくコピーができなかったり…といったことになりました。 ----------------------- ・住所【ボタン】 ・番号【ボタン】 ----------------------- という具合に設置したいのです。 【ボタン】を押せばクリップボードにコピーされる使用にしたかったのです。 また、オークションの定型文も挿入したいと思い、同じように定型を入れ込み、ボタンを設置すると、今度は改行を受け付けてもらえない状態になりました。 ----------------------- ・住所【ボタン】 ・番号【ボタン】 ・落札された場合の定型文 ・発送完了の定型文 ----------------------- という形です。 完全にオフラインで使用する自分だけのためのツールということになります。 複数ボタンを設置した場合はボタンに名前をつけなければ認識しないのだろうと思い、色々やってみましたが、どうもコピーされたりされなかったり…と不安定です。 おそらく色々間違っているのでしょう… オークションなどで使用したい定型文は以下のような普通のものです ---------------------------------- お世話になります。 この度、商品を落札致しました。○○でございます。 早速ですが、下記に詳細を記載しておりますのでご確認下さい。 [振込先]○○銀行 [振込予定日]○月○日を予定 [住所]〒000-0000 ○○県○○市○○町 ○-○-○ [氏名]○○ ○○○ [TEL]○○○-○○○-○○○○ 振込後に再度ご連絡差し上げます。 それでは失礼致します。 ---------------------------------- brや\nででは改行はできませんでした。 もちろんいままでどおりテキストに書き溜めておき、選択してコピペでも可能なのですが、手間がかからないのでいいなと思ったのです。 これで理解してもらえなかった場合は…おそらく私の語彙力では説明できないかもしれないので…潔く諦めるほかないでしょうか…

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

されたいことがわからないです。 画面上の改行は保存されたらとってもまずいです。ディスプレイ幅が異なるユーザーエージェントでも読み上げソフトでも・・・普遍的に利用できるのがHTMLです。 【引用】____________ここから HTMLは、どんな環境からもWebの情報を利用できるようにすべきだという方針の下に開発されている。例えば、様々な解像度や色深度のグラフィックディスプレイを持つPCや、携帯電話、モバイル機器、音声入出力機器、帯域が広いコンピュータや狭いコンピュータ、等の環境である。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Introduction to HTML 4 (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/intro/intro.html#h-2.2.1 )]より  ご覧のこの画面、Ctrl + +で、視覚障害者がフォントを拡大したら改行位置が変わりますよね。もしスクリーンリーダーを併用していて読み上げさせるとフォントを変えたら読み方変わったらまずいでしょ。スクリーンリーダーは改行は無視して読んでいきます。ただし<p>段落</p>でマークアップされていたら、一呼吸間を取ります。  HTML内のテキストをコピーしたけりゃ左ボタンを押したままドラッグ、もしくはShiftキーを押しながらカソールキーやEND,HOMEキーで選択してコピーしたい部分を反転させて  Ctrl + Cまたは、コンテキストメニュー(マウスの左ボタンで表示される)からコピーを選択すればすむ事です。  HTMLソースをコピーしたけりゃ、そのままコンテキストメニューから「選択部分のソースを表示」で良いですし、  特殊なコピーならブラウザのアドオンを使用者が用いればよい。 ・・改行しても認識してそのまま文字列をコピーできること  これは不可能です。出来ません。出来てはなりません。  textarea内の文字に関しては、wrapをコントロールすることで可能です。    

noname#206842
noname#206842
回答No.1

言っていることの意味が理解できないのですが?・・・ 記述した製作者により、どのようなタグを使っているかによりますが? preタグでかかれているものに対しては、簡単でしょうが、 <br>などを多用してそれなりに表示している場合はむづかしいのでは?・・・ ブラウザで表示コピーなら可能 考え方としては、ソースを表示してコピー、ペースト <br>タグがある場合は改行 行番号がある場合は、それを削除 これらを、クリアすることを、考えればできるのでは?・・・ html自体がtextファイルなので、不要なタグを取り除けば」、ただのテキストになる。 この基本から考えれば、簡単だと思いますが?・・・ やろうとしていることに意味があるのか?・・・疑問です。

関連するQ&A

  • スマートフォンのクリップボードに文字をコピーしたい

    アプリを使わずウェブ上で、スマートフォンのPCでいうクリップボードに、 文字列をコピーしたいのですが可能なものでしょうか? 例えばIE等ならば以下のような感じのHTMLで テキストボックスの文字列をボタンを押すことでコピーが出来ます。 <form name="CopyTest"> <textarea id="SourceBody" rows="4" cols="44" name="txt">sample</textarea> <input type="button" value="クリップボードにコピー" id="btnSetText" onClick='window.clipboardData.setData("text",document.CopyTest.txt.value)'> </form> この方法では私の使っているアンドロイドにはコピー出来ませんでした(当然といえば当然ですが・・・)。 他にもJQueryで組んでいるサイトも見てみたのですが、 やはりスマートフォンでは自分で範囲を選択してコピーを選ぶという手間をしない限り、 コピーすることが出来ず、私の知識では解決に及びませんでした。 スマートフォンのクリップボードに文字をさせるもしくは不可能かどうかをご存知でしたら、 アドバイスいただけると助かります。 よろしくおねがいします。

  • 「ソースをクリップボードにコピー」

    無料のカレンダー自動作成ソフトがネット上で提供されていまして、 「ソースをクリップボードにコピー」というボタンをクリックすると、 文字通り、ソースがクリップボードにコピーされているのでしょうけれど、 「スタート」⇒「アクセサリ」⇒「システムツール」⇒「クリップボードビューア」という箇所までたどり着いたのですが、 ここから先、どうすればいいのか分かりません。 こちらとしては、 「HTMLソースがどこかに記載されているはずだから、 それを、右クリックでコピーして、希望の場所へ貼り付けよう!!」 と考えていたのですが、 上記のようにその先の作業が分かりません。 どうすればHTMLソースをコピーして貼り付けることが出来るのですか?

  • クリップボードにコピー ソースをより少なく

    現在は下記のようにクリップボードへのコピーボタンを つくっています function clip_copy() { if (document.all && navigator.userAgent.match(/windows/i) && document.obj.area.value) { copy_obj = document.obj.area.createTextRange() copy_obj.execCommand("Copy") alert("クリップボードにコピー完了"); } } <body>下 <form name="obj"><textarea name="area"> ~内容~ </textarea> <input type=button value="クリップボードにコピー"></form> 今までは1つのページに<textarea>が ひとつだったので、問題なかったのですが、 複数になり、今後も増えそうです(もちろん同ページ内で)。 全ての<textarea>にクリップボードにコピーできる ボタンをつけたいのですが、 単純に上記のものを複数つくると、ソースやファイルが 増えてしまいます。 シンプルな記述方法はないものかと 模索中です。ご存知の方いらっしゃいましたら ご教授ください。

  • 秀丸で、文字列+改行をコピーしたときに

    秀丸で、文字列+改行をコピーしたときに 改行だけクリップボードから削除する方法はないでしょうか。 たとえば りんご\n をコピーした際は、 りんご をコピーしたことにしたいです。 意味不明でしたら加筆修正しますのでよろしくお願いします。

  • 文字列のコピー

    C言語で、文字列をコピーする関数で、処理が止まってしまいます。 以下が実行したプログラムです。 #include<stdio.h> #include<string.h> void copy(char *str2 ,char *str3){ strcpy(str2,str3); } void input(char* str){ scanf("%s",str); } int main (void){ char *a; char *b="TEST"; printf("%s\n",b); input(a); copy(b,a); printf("%s",b); return(0);} copy(b,a);で処理が止まってしまいます。入力した文字列を表示できるように、御指摘お願いします。

  • セルに入力された文字列を選択してコピーする方法

    セルに入力された文字列のみをコピーする方法が分かりません。 貼り付け先のセルには既に文字列が入力されており、それに加えてコピーした文字列を貼り付けしたいと考えております。 Range("A1").copyとしたのですが、これではセルそのものがコピーされてしまいます。 F2を押した時のように編集状態にして、文字列を選択し、コピーするにはどのような方法があるのでしょうか。

  • アルファベット文字列の割付

     一太郎12です。  HTMLソースのようなアルファベット文字列を改行を入れずに長く複数行にわたって入力すると、大抵のワープロソフトがそうであるように、スペースのところで無理矢理単語を区切られて行変えされてしまいますよね。望んでもいないのに単語として区切られることで字間が行によってバラバラになって見た目がひどくなるんです。  アルファベット文字列だからといって単語認識して無理矢理行変えさせないようにするにはどうしたらいいですか?

  • .phpで"クリップボードにコピー"ボタンを作る

    .php形式のファイルで、textarea内の文字列をクリップボードにコピーするボタン(画像をボタンにしている)を作りたいのですが、 調べて色々な方法を試してみても上手くいきません;; どなたか良い方法をご存知の方、ご教授願います。

  • ASPで文字列に外字が含まれているか判定したい

    ASPで、画面で入力された文字列に外字が含まれているかどうか判定して、含まれる場合はエラーメッセージを表示したいのですが、外字の判定処理は可能でしょうか。 php版の外字の判定処理についてはYahoo知恵袋にありました。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1364613748 ASPで同様の処理を行うにはどのような処理になるのかご教授ください。

  • eメールは5000文字が限界ですか?

    eメールは5000文字が限界ですか? ウイルコムでは1万文字以上http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q139706713 SBでは全角300000文字http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q129753002 とのことで、このたびauの5000文字というのがいかに少ないか、につき驚いております。 (「だったら他にいけよ」というのはナシでおねがいします) これ、何とかならないのでしょうか? すなわち、何か端末を変えたりプランを変えたりしたら、ウン万文字以上送受信できるような仕組み・サービスってないでしょうか? よろしくお願いします。

    • ベストアンサー
    • au

専門家に質問してみよう