2010-12-17 5 views
1

안녕하세요 :) Greasemoneky로 개체를 조작하려고하므로 스크립트를 작성해야합니다 :) allowFullScreen param의 한 값을 변경하고 싶습니다.개체 param의 값을 Greasemonkey로 바꿉니다

<object width="760" height="660" type="application/x-shockwave-flash" id="flashc" name="flashc" data="http://example.com/swf/39.swf"> 
    <param name="menu" value="false"> 
    <param name="allowFullScreen" value="false"> // I want to change this to **"true"** 
    <param name="scale" value="noscale"> 
    <param name="wmode" value="transparent"> 
    <param name="allowScriptAccess" value="always"> 
</object> 

것은 이미 뭔가를 작성했지만 작동하지 않습니다

function allowFS() 
{ 
    var obj = getElementsByName("allowFullScreen") 
    obj.setAttribute("value", "true"); 

} 

죄송합니다

답변

1

어떤 getElementsByName 기능 알려진하지 마십시오 내 언어. 어쩌면 그것은 GreaseMonkey 기능 일 것입니다. getElementsByName이 존재, 나의 무지에 대해 죄송 반환 및 배열과 같은 getElementsByTagName 같은 :

var params = document.getElementsByTagName('param'); 

for (var i = 0; i < params.length; i++) 
{ 
    if (params[i].name == 'allowFullScreen') 
    { 
     params[i].setAttribute('value', 'true'); 
    } 
} 

편집 :하지만 JS에서 내가 좋아하는 일을 할 것입니다. 그래서 코드가 될 것이다 :

var params = document.getElementsByName('allowFullScreen'); 

for (var i = 0; i < params.length; i++) 
{ 
    params[i].setAttribute('value', 'true'); 
} 
+0

'getElementsByName'이 존재하고 모든 주요 브라우저에서 지원됩니다 (질문과 같이 object ID가 flashc 것으로 가정합니다.) , 그래서 w3schools : http://www.w3schools.com/jsref/met_doc_getelementsbyname.asp – Zecc

+0

와우! 우수한. 우리는 매일 것을 배운다. 감사. – joksnet

+0

나는 그것이 작동하지 않는 이유를 모르겠다 - 내가 "false"값을 가질 때마다 : | 하지만 어쨌든 도와 주심에 감사드립니다. – Lyczos

0

getElementsByName이 문서의 회원이며 배열을 반환합니다 (더 나은 "배열과 같은 DOMNodeList"을 말해야한다).

그래서 당신은 사용해야합니다 : 플래시 객체가 이미 이전 값으로 초기화되어 있기 때문에

var obj = document.getElementsByName("allowFullScreen")[0]; 
0

그것은 아마도 allowFullScreen 값을 변경하는 것만으로는 충분하지 않습니다.

이 문제를 해결하려면 처음부터 새로운 allowFullScreen 값을 사용하여 새 플래시 객체를 만듭니다.

다음 코드는 작동해야하지만 그렇게, jQuery를 요구한다 : (

// @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js 

:

(1) 단지 // @include 지침 (들) 후 그리스 몽키 메타 데이터 섹션에이 줄을 추가 2) GM의 "Manage User Scripts"패널을 사용하여 Greasemonkey 스크립트를 제거한 다음 다시 설치하여 jQuery 파일이 PC에 복사되었는지 확인하십시오.

(3) 그런 다음이 코드를 시도 :

$('#flashc param[name="allowFullScreen"]').val ("true"); 
var jNewFlash = $('#flashc').clone (true); 
$('#flashc').replaceWith (jNewFlash) 


+0

어쩌면 내가 GM에서 스크립트를 실행할 수 없다. ([나도 작동하지 않는다; /) 어쨌든 고마워;) – Lyczos

+0

@Lyczos : 누구나 GM 스크립트를 실행할 수있다. 정확히 ** ** 작동하지 않는 방법을 지정해야합니다. 또한 수정하려는 페이지에 대한 링크를 게시하는 것이 가장 좋습니다. –

관련 문제