【问题标题】:How mute all sound in my site with JS/JQUERY?如何使用 JS/JQUERY 将我网站中的所有声音静音?
【发布时间】:2017-03-19 19:33:23
【问题描述】:

我的页面包含多个与外部网站相关的 iframe。

如何使用 javascript 或 jquery 将整个页面静音?

【问题讨论】:

标签: javascript jquery html iframe mute


【解决方案1】:

你不能。您需要访问框架的内容,但如果您正在加载外部网站,那么您将遇到同源策略。

有关该主题的更多答案,请查看this question

【讨论】:

    【解决方案2】:

    如果您要加载的网站相当简单,您可以通过 php 将它们“加载”并在 html 中添加 <base> 标签。

    注意:它不适用于具有大量外部资源的复杂网站

    用这个内容创建一个文件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来使用加载器:

    &lt;iframe src="iframe-loader.php?url=http://www.example.com" /&gt;

    您将可以访问 iframe,因为它们不会与同源策略混为一谈。

    现在你可以使用 @ObsidianAge 在 cmets 中提到的答案了。

    【讨论】:

      猜你喜欢
      • 2012-12-12
      • 2023-04-02
      • 2017-01-16
      • 1970-01-01
      • 1970-01-01
      • 2013-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多