2011-03-29 9 views
2

私のサイトの1つで、私は& shyを使用しました。は、ウェブブラウザでより良いハイフネーションを提供するために自由に使用できます。残念なことに、コピーや切り取り、貼り付けによってそれらが壊れてしまいます。私のウェブサイトからコピーを取ると、本当に迷惑をかけるような、以前のハイフェンを使っています。私はここで少し誇張したが、あなたはそのアイデアを得る。JavaScriptのカット/コピーのフィルター選択?

コピーの選択をフィルタリングする方法が大好きです。基本的には& shy;をクリップボードに送る前に削除することができます。 これは不可能だと私は読んだ/研究したことに基づいてと思っていますが、もし私が何かを見逃してしまった場合には、ここで集合的な知恵を尋ねると思っていました。

美しいどうなるかの擬似コード例:

element.oncopy = function (ev) { 
    ev.selection.replace(/­/g, ''); 
    return true; // or ev, I suppose 
} 
+1

」はどうですか?興味深い記事http://www.cs.tut.fi/~jkorpela/shy.html – mplungjan

+0

」は、英語に必要な単語区切りにハイフンを提供していません。私は 'wbr:after {content: ' - '}'を使ってcssでハイフンを作成することができましたが、 ''を区別することはできません。 – Benj

+0

ああ、そうです。私はあなたにハイフンを謝ると思った。 http://www.quirksmode.org/oddsandends/wbr.html – mplungjan

答えて

3

oncopyイベントについては、この記事を見てください。私はそれがあなたが必要としているものだと思う:http://help.dottoro.com/ljwexqxl.php。このページにも言及http://help.dottoro.com/ljxundda.php

:次ページの

例#2は、クロスブラウザに優しい方法(IEのみが最初の記事で使用しclipboardDataオブジェクトへのアクセス権を持っているので)でクリップボードを使用する方法について説明しますセキュリティの制限によってブラウザ間のメソッドが動作しなくなることがあります。そのため、一部のサイトでFlashを使用してクリップボードを操作する理由があります。ここではその方法を説明します記事、ケースには、それはあなたが望むように聞こえるだ:http://www.jeffothy.com/weblog/clipboard-copy/

EDIT

Hyphenator.jsを見てください。これは、クライアント側でテキストをインテリジェントにハイフネーションするJavaScriptメソッドです。デモ(which can be found here)ですばやく遊んで、コピーされたテキストのハイフンを残しているようです。 ­の代わりにこれを使用するようにコンテンツを変更するのは苦痛かもしれませんが、それはあなたの目標をすべて達成するようです。

+0

尋ねる前に私もこれを見ました。私はChrome上で動作するようなコードを手に入れることはできませんでした.GooglingはexecCommandが信頼できる賭けではないことを示唆しています。あなたはこのアプローチで成功しましたか? – Benj

+0

本当に。私はFlashのオプションが最も信頼できると思うが、プラグインをインストールしていないユーザもいるかもしれないし、iOSブラウザなどからコピーしているかもしれないので、それを本当に信じることさえできない。私の答えの更新されたセクションを見て、それはいくつかの興味があるかもしれません。 – Ender

+0

間違いなくそれを調べます。私は現在、ハイフネーションサーバー側を行っていますが、これはクライアント側で行う価値があるかもしれません。あるいは、クライアントがコピーから除外される方法を理解しようとすることができます。 – Benj

関連する問題