Create TOC

레이블이 Opera인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Opera인 게시물을 표시합니다. 모든 게시물 표시

2011년 8월 1일

Opera/clien.net 글꼴 변경하기

Opera 10.x 부터 clien.net 사이트에 들어가면 한글 글꼴이 명조로 표시되는 경우가 있다.

User Java Script 기능을 활성화하고 User JavaScript File경로를 지정한 다음, 해당 경로에 아래 내용의 fixclien.user.js 파일을 만들면 clien 글꼴이 나눔 고딕 으로 고정된다.

// ==UserScript==
// @name          fix clien
// @description   fix font for Opera
// @include       http://clien.career.co.kr/*
// ==/UserScript==

(function (){
function addGlobalStyle(css) {
    var head, style;
    head = document.getElementsByTagName('head')[0];
    if (!head) { return; }
    style = document.createElement('style');
    style.type = 'text/css';
    style.innerHTML = css;
    head.appendChild(style);
}

var scripts = document.getElementsByTagName('body')[0];
if (!scripts) return;
scripts = scripts.getElementsByTagName('script');
if (!scripts) return;

addGlobalStyle("body, td, p, input, button, textarea, select, td a, .c1, .member, #account dd, .view_content, .ct { font-family: NanumGothic, \"나눔고딕\", sans-serif; }")
})();

적용 전에는 아래와 같지만,

적용 후에는 아래와 같이 변경된다.

2011년 6월 25일

Opera/Flash 차단하기

Opera 10 .5부터는 flash를 차단할 수 있는 기능이 내장되었다. Opera를 시작하고 주소표시줄에 아래 주소를 입력한 다음 설정을 check 하고 저장하면 된다.

opera:config#UserPrefs|EnableOnDemandPlugin

설정을 저장하고 flash페이지에 들어가보면 아래와 같이 flash가 차단된 것을 확인할 수 있다.

2010년 5월 6일

Debian/Opera에서 flash 안에 있는 버튼등이 클릭되지 않을 때

Debian에서 Opera를 사용하는 경우 flash 안에 있는 버튼이 클릭되지 않을 때가 있다. 이때 아래와 같은 방법으로 해결할 수 있다.

  • compiz를 사용하지 않는다.
  • Ctrl-A를 눌러서 페이지 전체를 선택한다.
  • GDK_NATIVE_WINDOWS 환경 변수를 설정한다.

compiz을 사용하지 않으면 3D 화면 효과를 사용할 수 없고, 페이지 전체를 선택하는 방법은 매번 귀찮게 키보드를 누르기 때문에 GDK_NATIVE_WINDOWS환경 변수를 설정하는 것이 편리하다.

아래 명령으로 /usr/lib/opera/operapluginwrapper파일을 편집한다.

$ sudo vi operapluginwrapper

파일을 열고 맨 아래 부분을 아래처럼 고쳐서 operapluginwrapper 가 실행하기 전 환경 변수를 설정한다.

export GDK_NATIVE_WINDOWS=1
exec "$wrapper" "$@"

2010년 4월 30일

OS/X - Opera 10.5x에서 바람 입력기로 한글 입력이 되지 않을때

Opera 10.5x 에서 바람 입력기로 한글 입력이 되지 않을 수 있다. 바람 입력기 설정 화면에서 input by 값을 word로 설정하면 된다.

Opera/addEventListener('load')가 동작하지 않을 때

Opera 10.5x 버전부터 UserScript에서 아래와 같이 load 이벤트에 대해서 함수 연결이 되지 않는다.

document.addEventListener('load', function() {
	alert(1);
}, false);

아래와 같이 그냥 실행하도록 수정한다.

(function () {
	alert(1);
})();

2010년 4월 16일

Opera/Youtube에서 flash를 업데이트 하라고 표시할 때.

출처 : http://www.google.com/support/forum/p/youtube/thread?tid=46dd241356fbad51&hl=en

최신 flash player를 설치했음에도 불구하고 Opera로 Youtube를 접속하면 flash를 업데이트하라는 메시지가 표시된다. 이때는 user script 폴더에 YoutubeProtectionRemover.js파일을 만들어 주면 된다.

// ==UserScript==
// @name        YoutubeProtectionRemover
// @include     http://www.youtube.com/*
// @description Removes lame protection on YouTube
// @copyright 2010, Snap
// ==/UserScript==

window.opera.addEventListener('BeforeScript', function (ev){
	ev.element.text = ev.element.text.replace("yt.flash.update(swfConfig, forceUpdate);","");
}, false);

2010년 4월 13일

Debian/Opera 창을 shade한 후 키보드 입력이 되지 않을 때

Debian에서 iBus를 사용할 경우 Opera 창을 shade하면 키보드 입력이 되지 않을 때가 있다. 이때는 아래 그림에서 표시한 iBus 설정을 바꿔주면 된다(checked 상태면 uncheck로, unchecked 면 check로 해주면 된다).

2010년 2월 28일

Opera/다음 TV 팟 화면 정리하기

맥북에서 다음 TV 팟을 보려고 하면 미묘한 화면 길이 때문에 약간의 스크롤을 필요로 한다. 또한 덧글의 수준이 매우 낮은데 기본으로 덧글을 표시해서 귀찮다.

내가 보기 싫은 element를 숨기도록 user script를 작성했다.

// ==UserScript==
// @name tvpot.user.js
// @author	Yun-yong, Choi
// @version	0.1
// @include	http://tvpot.daum.net/*
// @compatible   Opera 9
// @description  Macbook 에서 TV pot을 볼때 페이지 길이를 줄이기 위해서 상단의 일부 메뉴와 덧글을 숨기는 script.
// ==/UserScript==
(function  () {
	function getElementsByClass( searchClass, domNode, tagName) {
		if (domNode == null) domNode = document;
		if (tagName == null) tagName = '*';
		var el = new Array();
		var tags = domNode.getElementsByTagName(tagName);
		var tcl = " "+searchClass+" ";
		for(i=0,j=0; i<tags.length; i++) {
			var test = " " + tags[i].className + " ";
			if (test.indexOf(tcl) != -1) el[j++] = tags[i];
		}
		return el;
	}
	function hideClass(className) {
		var els = getElementsByClass(className);
		for (var i=0; i < els.length; i++) els[i].style.display = "none";
	}
	function hideId(id) {
		var els = document.getElementById(id);
		if (els) els.style.display = "none";
	}

	///// 화면 상단
	// 최상위 메뉴 숨김
	hideId("DaumUI__minidaum");
	// TV Pot 로고 제거
	hideId("gnbLogoNav");
	// TV pot 메뉴 제거
	//hideId("gnbTabNavNew");
	// title, 브랜드팟 이동 메뉴 모두 제거
	hideClass("brandPotHeadWrap");
	// title 스킨 제거
		//hideClass("header");
	// 브랜드 팟 이동 메뉴 제거
		//hideClass("brandPotNav");
	///// 화면 하단
	// 통계 제거
	hideId("statisticsArea");
	// 추천 메뉴 제거
	hideClass("etcClipInfor");
	// 마이팟 담기, 통계 메뉴 제거
	hideClass("clipEtcFucntion");
	// 댓글 제거
	hideClass("commentArea");
	// 브랫드 팟 랭킹 목록 제거
	hideClass("brandPotRankingList");

	// 동영상을 화면 상단에 표시하기 위해서 화면을 scroll
	// @todo 계산을 해서 scroll 하도록 수정해야 한다.
	scrollTo(0, 100);
})();

2009년 12월 16일

Debian/iBus 사용시 Opera에서 한글 입력이 되지 않을 때

환경 변수 QT_IM_MODULEibus으로 설정되어 있는 경우 Opera에서 한글이 입력되지 않을 때가 있다정확하게 이야기하면 한/영 전환이 이루어지지 않는다..

QT_IM_MODULE값을 xim으로 변경하면 되는데, QT_IM_MODULE값은 /etc/X11/xinit/xinput.d/ko_KR파일에서 결정하며 기준은 ibus-qt4패키기 설치 여부이다. 아래 명령으로 ibus-qt4패키지를 제거하면 된다.

$ sudo apt-get remove ibus-qt4

Debian/Opera에서 "ㅌ"이 입력되지 않을 때

입력기를 iBus을 사용한 상태에서 Opera브라우저를 사용하면 "ㅌ"이 입력되지 않고 작은 따옴표(')가 입력된다세벌식390 자판 기준.

iBus입력기 설정을 변경해야 하는데, 알림영역의 iBus아이콘에서 기본설정화면을 띄우고 아래처럼 시스템 키보드 레이아웃 사용 설정을 unchecked 상태로 변경하면 된다

2009년 7월 10일

Opera/한글 키워드 사이트 검색을 구글로 넘기기

DNS 검색이 한글 키워드 검색 사이트(넷피아 등) 페이지로 넘어가면 그것을 구글 검색 페이지로 이동시키는 UserScript. 반드시 UTF-8 로 저장하고 사용해야 한다.

// ==UserScript==
// @name URL redirect from hangul keyword search site to google.com
// @author Yun-yong Choi
// @version 0.1
// @include             http://find.netpia.com/*
// @include             http://netpia.*.com/*
// @include				http://dns.paran.com/*
// @compatible			Opera 9
// ==/UserScript==
(function () {
      var newurl = 'http://www.google.co.kr/'
      // netpia 한글 키워드
      // url 에서 q=XXXX 의 XXXX 부분을 추출해서 구글에 넘긴다.
      matchObj = window.location.href.match(/q=(.+)&/)
      if (matchObj && (matchObj.length > 1)) {
        newurl = 'http://www.google.co.kr/search?complete=1&hl=ko&q=' + matchObj[1]
      }
      else {
        // 메가패스 한글 키워드
        // url에서 Query=XXXX 의 XXXX 부분을 추출해서 구글에 넘긴다.
        matchObj = window.location.href.match(/Query=(.+)&/)
        if (matchObj && (matchObj.length > 1)) {
          newurl = 'http://www.google.co.kr/search?complete=1&hl=ko&q=' + matchObj[1]
        }
      }
      window.location = newurl
})();

Opera/다음뷰바 제거 스크립트

다음 뷰바를 제거하는 UserScript. 반드시 UTF-8 로 저장하고 사용해야 한다.

// ==UserScript==
// @name remove_daumviewbar.user.js
// @author	Yun-yong, Choi
// @version	0.1
// @namespace	http://*.daum.net/*
// @compatible   Greasemonkey, Opera 8/9
// ==/UserScript==

if (/(?:^|\.)daum\.net/i.test(window.location.hostname)) document.addEventListener('load', function() {
	var iframe = document.getElementById("viewIframe");
	if (iframe)
	{
		window.location = iframe.src;
	}
}, false);

2009년 6월 18일

Debian/Opera 브라우저에 대한 몇 가지 팁

한글 글꼴이 깨질때

Debian에서 Opera 9.5 이상 버전을 사용할 때 방법이다.

  1. ~/.opera/opera6.ini에서 아래 내용을 추가한다.
    [User Prefs]
    Enable Core X Fonts=0
    Enable Xft Fonts=1
  2. ~/.opera/fontswitch.ini 파일을 삭제한다.
  3. 가운데 버튼을 윈도우처럼

    오페라에서 가운데 버튼의 기본 동작은 클립보드로 텍스트 복사 이다(이것은 X Window System의 관례). 그러나 Microsoft Windows처럼 스크롤 커서가 나오게 하고 싶다면 아래 그림처럼 환경 설정 - 고급 설정 - 단축키 - 중간 클릭 옵션...에서 패닝 시작 을 선택하면 된다.

2006년 10월 25일

Python/Opera 설정 백업 스크립트

여러 PC를 쓰다보면 Opera 설정을 동일하게 맞추기 위해서 설정 파일들을 수집해야 한다. 이 스크립트는 설치된 PC에서 Opera 설정파일을 수집하기 위해서 제작되었다.

사용법

fetchOperaSetting.py zip 파일명

변경 내역

  • 2006-10-25 0.0.2 Yun-yong Choi
  • 노트장, 쿠키, 주소록, 암호관리자 를 추가 수집
  • 사용자 css 파일 수집
  • 2006-10-24 0.0.1 Yun-yong Choi
  • first release

todo

  • OS/X 지원
  • Widget 등 나머지 설정 수집
  • 압축 파일을 원하는 계정으로 복원 해주는 기능
  • source

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    #   @brief  Opera 설정을 백업하는 script
    import os
    import sys
    import dircache
    import zipfile
    
    
    ##  @brief  사용방법을 출력한다.
    def printUsing():
        print sys.argv[0], ''
    
    if len(sys.argv) < 2:
        printUsing()
        sys.exit(1)
    
    zipname = sys.argv[1]
    
    # 현재 사용자의 profile folder를 구한다.
    homeenv = 'USERPROFILE' if sys.platform == 'win32' else 'HOME'
    
    # opera 설정 파일이 저장된 폴더
    operaprofile = '.opera' + os.path.sep if sys.platform == 'win32' else 'Application Data' + os.path.sep + 'Opera' + os.path.sep + 'Opera' + os.path.sep + 'Profile' + os.path.sep
    
    homepath = os.getenv(homeenv)
    
    # 실제 오페라 설정이 저장된 폴더
    myopera = homepath + os.path.sep + operaprofile
    
    # myopera 하부에서 수집할 폴더들
    subfolders = [
        'menu',  # 메뉴
        'mouse',  # 마우스 제스쳐
        'keyboard',  # 키보드
        'toolbar',  # 도구 모음
        'styles' + os.path.sep + 'user',  # 사용자 CSS
    ]
    subfolders = map(lambda x: myopera + x + os.path.sep, subfolders)
    
    # myopera 하부에서 수집할 파일들
    files = [
        'opera6.ini',       # opera 설정파일
        'urlfilter.ini',    # 컨텐트 차단 파일
        'ua.ini',
        'search.ini',       # 검색 환경
        'override_downloaded.ini',
        'opera6.adr',       # 북마크
        'notes.adr',        # 노트장
        'contacts.adr',     # 주소록
        'cookies4.dat',     # 쿠기
        'wand.dat',         # 암호관리자
        'opcacrt6.dat',     # 인증서
        'opcert6.dat',      # 인증서
        'opssl6.dat',       # 인증서
    ]
    files = map(lambda x: myopera + x, files)
    
    # User Script 설정이 있는지 확인하고 있으면 해당 폴더를 수집해야 한다.
    # 오페라의 ini는 정상적인 ini 형식이 아니기 때문에 ConfigParser를 사용할 수 없다.
    userjs = ''
    with file(files[0], 'rt') as f:
        for line in f:
            idx = line.find('User JavaScript File=')
            if idx == 0:
                userjs = line[len('User JavaScript File='):].rstrip('\r\n')
                break
        f.close()
    
    if userjs[-1] != os.path.sep:
        userjs = userjs + os.path.sep
    
    # 파일 수집
    subfiles = []
    for subfolder in subfolders:
        a = dircache.listdir(subfolder)
        if len(a) > 0:
            a = a[:]
            for file in a:
                subfiles.append(subfolder + file)
    
    # subfiles 와 subfolder를 수집하면 된다.
    # zip 파일 생성
    with zipfile.ZipFile(zipname, 'w', zipfile.ZIP_DEFLATED) as zipf:
        # opera 파일들
        for file in files:
            if os.path.isfile(file):
                compname = file.replace(myopera, '')
                zipf.write(file, compname)
        # sub folder에 있는 파일들
        for file in subfiles:
            if os.path.isfile(file):
                compname = file.replace(myopera, '')
                zipf.write(file, compname)
        userjsfiles = []
        # userjs 수집
        if len(userjs) > 0:
            a = dircache.listdir(userjs)
            a = a[:]
            if len(a) > 0:
                a = a[:]
                for file in a:
                    userjsfiles.append(userjs + file)
        for file in userjsfiles:
            # remove drive letter
            if os.path.isfile(file):
                compname = file
                if sys.platform == 'win32' and file[1] == ':':
                    compname = file[3:]
                zipf.write(file, compname)
    
    ##  @mainpage   fetch opera settings
    #   @version    0.0.2
    #   @section    intro_sec   소개
    # Opera의 설정파일을 수집한다.
    #   @section    requ_sec   요구사항
    #       - Windows 2000 이상의 OS
    #       - python 2.4 또는 이상 버전
    #   @section    install_sec 설치
    #       - 압축파일을 적당한 폴더에 푼다.
    #   @section    using_sec   사용방법
    #   @verbatim
    #fetchOperaSetting.py [저장할 파일이름]@endverbatim
    #   예)
    #   @verbatim
    #fetchOperaSetting.py MyOperaSetting.zip@endverbatim
    #
    #   @todo
    #       - OS/X 지원
    #       - Widget 등 나머지 설정 수집
    #       - 압축 파일을 원하는 계정으로 복원 해주는 기능
    #
    #   @since
    #       - 2006-10-25 0.0.2
    #           - 노트장, 쿠키, 주소록, 암호관리자 를 추가 수집
    #           - 사용자 css 파일 수집
    #       - 2006-10-24 0.0.1
    #           - first release
    
    ##  @brief  프로그램 버전
    VERSION = '0.0.2'

2006년 10월 24일

Opera 브라우저

소개

독자적인 html 렌더링 엔진을 가지는 브라우저. Internet Explorer 나 Firefox 보다 훨씬 빠르다.

설치 파일은 http://opera.com 에서 무료로 받을 수 있다.

Opera에서 기능 확장은 Firefox와는 다르게 User Script(Firefox의 Greasemonkey 와 같은 개념)와 설정 파일(ini 포맷) 수정으로 이루어진다.

User Script

대부분 User Script는 http://userjs.org 에서 구할 수 있다.

script를 적당한 폴더에 저장한 다음 도구 - 환경설정 - 고급 - 컨텐트 - JavaScript 옵션 에서 사용자 JavaScript 폴더 에 script를 저장한 폴더를 지정하면 된다.

이때 여러 폴더를 지정해야 하면 세미콜론(;)을 사용하면 되고, 파일 이름을 직접 입력할 수도 있다.

c:\foo\bar\haha.js;c:\myscript
Extra download links페이지 안의 이미지나 기타 object를 다운 받기 쉽게 패널에 링크에 표시해준다.(ctrl + j 로도 확인 가능)
Operadepia구글 검색 결과에 Wikidepia 검색 결과를 보여준다
Google image frame bypasser구글 이미지 검색 결과에서 이미지를 클릭하면 해당 이미지만 표시해준다.
Flash block for OperaFirefox의 flash block 확장처럼 flash 실행을 막아준다.

Menu 수정

수정하기 전에 기본 메뉴 파일opera 설치 폴더에서 menu.iniprofile 폴더로 복사해서 사용한다.

profile 폴더위치는 OS 별로 다르다.

  • Windows
    %USERPROFILE%\Application Data\Opera\Opera\profile\menu
  • Unix
    ~/.opera/menu
  • OS/X
    ~/Library/Preferences/Opera\ Preferences/menu/

편집시 항상 Opera를 종료한 상태에서 해야 하며 menu.ini 처음을 아래처럼 바꾼다.

[Version]
File Version=적당한숫자

[Info]
Name=오페라 메뉴에서 나타나는 이름
Description=메뉴설명
Author=작성자
Version=적당한숫자

opera에서 사용하는 ini 파일은 utf-8 형식으로 저장해야 한다.

메뉴를 저장한 후 Opera를 실행해서 도구 - 환경설정 - 고급 - 도구모음을 선택하면 아래 그림과 같은 화면이 뜬다.

여기에서 위 Description에 적은 내용과 동일한 메뉴를 선택해주면 된다.

User Script 기능 on/off

[Quick Preferences Menu]
Item, "사용자 JavaScript 사용"	= Set preference, "User Prefs|User JavaScript=1" | Set preference, "User Prefs|User JavaScript=0"

현재 페이지를 번역하기

아래 section에 내용을 추가한다.

[Document Popup Menu]
Submenu, "현재 페이지를 번역하기", Translations Menu
Item, "자동번역"="Go to page, "http://translate.google.co.kr/translate_c?u=%u""
--------------------1
Item, "일본어를 한국어로"="Go to page, "http://translate.google.co.kr/translate?u=%u&sl=ja&tl=ko&hl=ko&ie=UTF-8""
Item, "영어를 한국어로"="Go to page, "http://translate.google.co.kr/translate?u=%u&sl=en&tl=ko&hl=ko&ie=UTF-8""
--------------------2
Item, "한국어를 영어로"="Go to page, "http://translate.google.co.kr/translate?u=%u&sl=ko&tl=en&hl=ko&ie=UTF-8""
Item, "한국어를 일본어로"="Go to page, "http://translate.google.co.kr/translate?u=%u&sl=ko&tl=ja&hl=ko&ie=UTF-8""
Item, "한국어를 중국어(간체)로"="Go to page, "http://translate.google.co.kr/translate?u=%u&sl=ko&tl=zh-CN&hl=ko&ie=UTF-8""
Item, "한국어를 중국어(번체)로"="Go to page, "http://translate.google.co.kr/translate?u=%u&sl=ko&tl=zh-TW&hl=ko&ie=UTF-8""
--------------------3
Item, "일본어를 영어로"="Go to page, "http://translate.google.co.kr/translate?u=%u&sl=ja&tl=en&hl=ko&ie=UTF-8""

핫 클릭 팝업 메뉴의 번역 메뉴에 구글 번역 추가

아래 section에 내용을 추가한다.

[Translate menu]
--------------------7
Item, "자동번역"="Go to page, "http://translate.google.co.kr/?hl=ko#auto|ko|%t""
--------------------8
Item, "일본어를 한국어로"="Go to page, "http://translate.google.co.kr/?hl=ko#ja|ko|%t""
Item, "영어를 한국어로"="Go to page, "http://translate.google.co.kr/?hl=ko#en|ko|%t""
--------------------9
Item, "한국어를 영어로"="Go to page, "http://translate.google.co.kr/?hl=ko#ko|en|%t""
Item, "한국어를 일본어로"="Go to page, "http://translate.google.co.kr/?hl=ko#ko|ja|%t""
Item, "한국어를 중국어(간체)로"="Go to page, "http://translate.google.co.kr/?hl=ko#ko|zh-CN|%t""
Item, "한국어를 중국어(번체)로"="Go to page, "http://translate.google.co.kr/?hl=ko#ko|zh-TW|%t""
--------------------10
Item, "일본어를 영어로"="Go to page, "http://translate.google.co.kr/?hl=ko#ja|en|%t""

툴바 버튼 추가

http://operawiki.info/CustomButtons 등의 사이트에서 버튼을 클릭하면 커스텀 버튼이 등록된다.

직접 toolbar.ini를 편집해도 된다.

[Customize Toolbar Custom.content]
Button0, 749810497="Enable menu bar, , , 749810497, "Menu" | Disable menu bar, , , , "749810497" + Show popup menu, "Browser Menu Bar""
Button1, 278263762=Leave fullscreen, , , "FullScreen", "Enter Fullscreen" > Enter fullscreen & Set alignment, "document toolbar", 2 & Enable scroll bars & Set alignment, "pagebar", 2
Button2, "Validate"="Go to page, "http://validator.w3.org/check?uri=%u", , "Validate", "Select user mode""
Button3, "Validate CSS"="Go to page, "http://jigsaw.w3.org/css-validator/validator?uri=%u&warning=1&profile=css2", , "Validate CSS", "Select user mode""

속도 향상

아래 내용은 주소 창에 opera:config를 입력한 후 나오는 설정 창에서 해당 값을 찾아 수정한다.

Network 관련 수정

HTTP Error Strategy: 2
Max Connections Server: 16
Max Connections Total: 64
Network Buffer Size: 32
No Connection Keepalive: False
Non-Compliant Server 100 Continue: False
Reduce Max Persistent HTTP Connections: False
Synchronous DNS Lookup: False

큰 이미지가 있는 사이트에서 느려질때

Turbo Mode: False

favicon 사용하지 않게 수정

alway load favison: 0