문제

요소 후 버튼을 추가하는 GreasemonKey에 추가하기 위해 JavaScript 스크립트를 작성하려고합니다. 이 버튼의 OnClick은 부모 요소 텍스트를 키보드로 복사해야합니다. 이미 선택한 텍스트를 클립 보드에 복사하는 많은 예를 보았습니다.

    <SCRIPT LANGUAGE="JavaScript">
    <!-- Begin
    function copyit(theField) {
    var selectedText = document.selection;
    if (selectedText.type == 'Text') {
    var newRange = selectedText.createRange();
    theField.focus();
    theField.value = newRange.text;
    } else {
    alert('Alert: Select The text in the textarea then click on this button');
    }
    }
    // End -->
    </script>
    <input onclick="copyit(this.form.text_select)" type="button" value="Click Here to Copy the Highlighted Text" name="copy_button">

설립하다 여기.

또한 입력 요소에서 텍스트를 선택할 수 있음을 발견했습니다. 나는 아직 실행 가능한 솔루션이없는 많은 기술과 다른 많은 기술을 결합하려고 시도했습니다. 위의 코드가 왜 클립 보드에 복사되는지 잘 모르겠습니다. 누구든지 이것에 대한 해결책이 있습니까?

도움이 되었습니까?

해결책

전체 기사를 읽는 데 시간이 걸렸다면 저자는 이것이 Firefox에 효과가 없다고 말합니다.
사실, 나는 그것이 클립 보드와 관련이 없기 때문에 IE에도 효과가 없다고 생각합니다!

FIREFOX는 기본적으로 보안상의 이유로 클립 보드 액세스를 억제하기 때문에 Flash를 사용하는 기술이 있습니다.
그렇지 않으면, 복사하는 고전적인 방법은 다음과 같습니다.

var tc = textToCopy.replace(/\n\n/g, '\n');
if (window.clipboardData) // IE
{
  window.clipboardData.setData("Text", tc);
}
else
{
  unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  const clipboardHelper = Components.classes
      ["@mozilla.org/widget/clipboardhelper;1"].
      getService(Components.interfaces.nsIClipboardHelper);
  clipboardHelper.copyString(tc);
}

사본을 활성화 한 후 (주어진 사이트의 경우).

다른 팁

당신의 예제가 작동한다고 확신하십니까? 내 브라우저에는 없습니다. 그러나 다음 페이지를 살펴보십시오. http://www.jeffothy.com/weblog/clipboard-copy/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top