1

我有一个iframe需要更改一个字符的地方。

编辑:添加很多额外的代码,因为这比我首先想到的更难。

<iframe href="https://derpxample.com/">
<video id="post_html5_api" class="vjs-tech" loop="" preload="auto" src="https://derpxample.com/v/berp.mp4">
            <source src="https://derpxample.com/v/berp.mp4" type="video/mp4">
</video>
</iframe>

我只是想尽可能简单地将 url 协议从 更改httpshttp。内容源不会更改,因为它是自动生成的。因此,以下内容:

$('iframe').each(function(){
      var href = $('iframe').attr('href');
      $('iframe').attr('src',href).attr('class','postVine');
      $('video').attr('src', function(i, s) { 
      return s.replace("https", "http");
      });                 
});
4

5 回答 5

1

使用一些这样的:

 var element = document.getElementById('my-video');
 element.src = element.str.replace('https', 'http');

元素:

 <video id='my-video' src = 'https://example... > 
于 2013-06-10T04:36:27.140 回答
1
videoElem.src = 'http'+videoElem.src.substr(5);
于 2013-06-10T04:36:53.310 回答
1

也许这对你有用:

$('video').attr('src', $('video').attr('src').replace("https", "http"));

编辑:对于 iFrame,您可以尝试这样的事情:

video = $('iframe').contents().find('video');
$(video).attr('src', $(video).attr('src').replace("https", "http"));
于 2013-06-10T04:50:05.737 回答
1

这样的事情怎么样?

var video = document.getElementById('videoID');
video.src = video.src.replace(/^https:/, 'http:');

这并不假定 src 始终以 开头https:,并且如果 https 出现在 URL 中的其他位置,则不会中断。

于 2013-06-10T05:00:38.283 回答
1

我怀疑你问题的关键是你提到了一个<iframe>.

如果您尝试访问或更改 iframe 的内容,则只能在它与父页面从同一主机加载的情况下执行此操作。

有关更多详细信息,请参阅此问题:更改 iframe 的内容

于 2013-06-10T05:14:16.580 回答