2017-03-19 17 views
-3

私は外部サイトに関連する複数のiframeを含むページを持っています。私のサイトのすべてのサウンドをJS/JQUERYでミュートするにはどうすればよいですか?

javascriptまたはjqueryを使用してページ全体をミュートするにはどうすればよいですか?

+2

[JSでページ内のすべてのサウンドをミュートするにはどうすればいいですか?](http://stackoverflow.com/questions/14044761/how-to-mute-all-sound-in-a-page-with- js) –

+0

フレーム? iframeのように?あなたはそれらに触れることはできません! – Miro

+1

@ObsidianAgeこの質問は外部コンテンツのフレームにアクセスすることであるため、重複しているわけではありません。 – Schlaus

答えて

0

できません。フレームの内容にアクセスする必要がありますが、外部サイトを読み込んでいる場合は、同じ発信元ポリシーに従います。

件名に関するその他の回答はthis questionです。

0

読み込んでいるサイトがかなりシンプルな場合は、PHPを使ってそれらを読み込み、<base>というタグをHTMLに追加することができます。

注:この内容でファイルiframe-loader.php:作成し、多くの外部リソースの

で複雑なウェブサイト上では動作しません。

<?php 
error_reporting(0); 

$url = $_REQUEST['url']; 
$html = file_get_contents($url); 

$dom = new domDocument; 
$dom->strictErrorChecking = false; 
$dom->recover = true; 
$dom->loadHTML($html); 

//BASE 
$head = $dom->getElementsByTagName('head')->item(0); 
$base = $dom->createElement('base'); 
$base->setAttribute('href',$url); 

if ($head->hasChildNodes()) { 
    $head->insertBefore($base,$head->firstChild); 
} else { 
    $head->appendChild($base); 
} 



header('Content-Type: text/html; charset=utf-8'); 
echo $dom->saveHTML(); 

?> 

を次に、あなたがそれ供給することにより、ローダーを使用することができますurl

<iframe src="iframe-loader.php?url=http://www.example.com" />

あなたは、同じ起源の方針と衝突していないので、iframeにアクセスできます。

@ObsidianAgeがコメントで述べた答えを使用できます。

関連する問題