InsertFlashObject JavaScript code.

HTML 페이지에 플래시 오브젝트를 삽입하기 위해 사용하는 자바스크립트 코드를 공개합니다. 이미 MS가 이올라스로 부터 라이센스를 획득해서 플래시 오브젝트의 활성화를 위해 외부 자바스크립트 파일을 만들 필요는 없지만, 보다 쉽게 플래시 무비를 HTML 문서에 입력하기 위해 만들었습니다.

플래시에 익숙하지 않은 많은 개발자들이 플래시의 태그를 제대로 입력하지 못해서 플래시 무비가 의도와 다르게 표시되는 문제들이 많았습니다. 그래서 플래시에 대해서 잘 알지 못하더라도, 자바스크립트 함수를 통해서 쉽게 플래시 무비를 삽입할 수 있도록 구성하였습니다.

Insert Flash Object
Insert Flash Object example

JavsScript Motion Tween

파이어폭스에서 투명 플래시를 사용할 경우, 레이어 뒤의 객체들을 사용할 수 없는 문제가 있어서, 자바스크립트로 된 트윈 효과를 구글해서 찾은 사이트 입니다. 어지간한 트윈 효과는 대부분 제공하는 듯 합니다.

모션 종료값을 나타내는 finish 프로퍼티 대신 setFinish() 메소드를 사용하는 것 외에는, 플래시에서 사용하는 트윈 클래스와 사용법은 거의 비슷하네요.

I encounted a problem in FireFox. Though I set the wmode property of an SWF movie to transparent in FireFox, I can not click on objects beneath the DIV layer that contains the SWF file. So I googled, and found this JavaScript Tween.

It is much the same with the Tween class in ActionScript except taht it uses setFinish() method rather than finish property to set the ending value of the target object property to be tweened.

ごめんなさい。このポストには日本語の翻訳を提供しません。

JavaScript Motion Tween

[JS] Copying flash object with FlashVars parameter.

IE에서 자바스크립트를 이용하여 플래시 오브젝트를 클립보드로 복사할 때, object 객체를 선택, 복사하면 FlashVars 속성이 누락되어 복사되는 문제가 있습니다. 그러나 embed 객체를 복사하면 그런 문제가 없습니다.

그러므로 아래 코드와 같이 object 객체의 altHtml 속성을 이용하여 embed 객체를 동적으로 생성, 이 embed 객체를 복사하도록 하면 됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Gets Flash object.
var obj = document.getElementById("flashObjectID");
var alt = obj.altHtml; // embed tag
 
// Creates a temporary embed object in the "tempLayer" layer.
var temp = document.getElementById("tempLayer");
temp.innerHTML = alt;
 
// Selects and copies the temporary embed object to the clipboard.
var range = document.body.createTextRange();
range.moveToElementText(temp);
range.select();
range.execCommand('copy');
range.moveToPoint(0,0);
range.select();
range = null;
 
// Removes the temporary embed object.
temp.innerHTML = "";

IE에서 object 태그를 사용하지 않고 직접 embed 태그만 사용하는 경우나, 파이어폭스 등 비IE 브라우저에서는, 이럴 필요가 없이, 바로 embed 객체를 선택하여 복사해주면 되죠.

[JS] 스크롤메뉴

IE6 이상에서 DTD를 지정하여 사용할 경우 document.body 대신 document.documentElement를 사용해야 합니다.
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
와 같이 dtd를 지정한 경우에 document.body를 인식하지 못하기 때문에 수정한 소스입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!--
var min = 89;      // 레이어 top 초기 값 (레이어 top 값과 일치시킴)
var max = 0;
var moving_speed = 10  // 속도(낮을 수록 빠름)
var moving_amount = 10  // 움직임 (낮을 수록 부드러움)
var action_time = 500   // 반응시간 (*/1000 초 후에 반응)
function left_move_init() {
    itm = document.getElementById("quickmenu");
    itm.set_pos = function(y){itm.style.top=y+"px";};
    itm.y = min;
    itm.set_pos(itm.y);
    max = document.documentElement.scrollHeight - itm.scrollHeight - min;
    setTimeout(left_move_func, moving_amount);
}
function left_move_func() {
    itm = document.getElementById("quickmenu");
    tmp = document.documentElement.scrollTop + min;
    itm.y += Math.floor((tmp-itm.y)/moving_speed);
    if( itm.y>max ) itm.y = max;
    if( itm.y<min ) itm.y = min;
    itm.set_pos(itm.y);
    setTimeout(left_move_func, moving_amount);
}
setTimeout(left_move_init, action_time);
//-->

Popup Blocker Detection 2

팝업 차단을 감지하는 자바스크립트 소스입니다.
기존의 window.open의 리턴값을 가지고 팝업의 차단여부를 판별하는 스크립트는 오페라 등 일부 브라우저에서 오동작하는 경우가 있는데, 이를 개선한 버전이라고 하네요.

http://javascript.internet.com/snippets/popup-blocker-detection-2.html

Older Posts »