Javascript 更改或删除元素src中的一个字符
我有一个Javascript 更改或删除元素src中的一个字符,javascript,jquery,Javascript,Jquery,我有一个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://derpxam
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>
使用类似的方法:
var element = document.getElementById('my-video');
element.src = element.str.replace('https', 'http');
video = $('iframe').contents().find('video');
$(video).attr('src', $(video).attr('src').replace("https", "http"));
要素:
<video id='my-video' src = 'https://example... >
使用类似的方法:
var element = document.getElementById('my-video');
element.src = element.str.replace('https', 'http');
video = $('iframe').contents().find('video');
$(video).attr('src', $(video).attr('src').replace("https", "http"));
要素:
<video id='my-video' src = 'https://example... >
也许这对你有用:
$('video').attr('src', $('video').attr('src').replace("https", "http"));
编辑:对于iFrame,您可以尝试以下操作:
var element = document.getElementById('my-video');
element.src = element.str.replace('https', 'http');
video = $('iframe').contents().find('video');
$(video).attr('src', $(video).attr('src').replace("https", "http"));
也许这对你有用:
$('video').attr('src', $('video').attr('src').replace("https", "http"));
编辑:对于iFrame,您可以尝试以下操作:
var element = document.getElementById('my-video');
element.src = element.str.replace('https', 'http');
video = $('iframe').contents().find('video');
$(video).attr('src', $(video).attr('src').replace("https", "http"));
像这样的怎么样
var video = document.getElementById('videoID');
video.src = video.src.replace(/^https:/, 'http:');
这并不意味着src总是以https:
开头,如果https出现在URL的其他地方,src也不会中断。类似的情况如何
var video = document.getElementById('videoID');
video.src = video.src.replace(/^https:/, 'http:');
这并不意味着src总是以https:
开头,如果https出现在URL的其他地方,src也不会中断。我怀疑你问题的关键在于你提到了一个
如果您试图访问或更改iframe的内容,则只有当它从与父页面相同的主机加载时,才能执行此操作
有关更多详细信息,请参阅此问题:我想你问题的关键在于你提到了一个
如果您试图访问或更改iframe的内容,则只有当它从与父页面相同的主机加载时,才能执行此操作
有关详细信息,请参阅此问题:视频标签是否有id?你能给它一个吗?这将使解决方案更简单。只需编辑html源代码,而不是尝试一些javascript解决方案。正如Arjan还指出的,有什么理由不能简单地编辑源代码?通过请求js/jq解决方案,我认为更改源代码显然不适用。在未来的需求中会更清晰、更快速。您是否尝试过
视频标签是否有id?你能给它一个吗?这将使解决方案更简单。只需编辑html源代码,而不是尝试一些javascript解决方案。正如Arjan还指出的,有什么理由不能简单地编辑源代码?通过请求js/jq解决方案,我认为更改源代码显然不适用。在未来的需求中会更清晰,速度会更快。您是否尝试过这是非常优雅的代码。似乎可以正常工作,但实际上并没有将https
更改为http
,我建议将其简化为:$('video').attr('src',function(I,s){return s s.replace(“https”,“http”);
(无需调用.attr()
两次,attr()
已返回字符串,因此无需调用toString()
)。谢谢,David!删除了toString(),它在我的示例中仍然有效,但我无法让它在我这边的函数中工作。hmmm这是一段非常优雅的代码。似乎可以正常工作,但实际上并没有将https
更改为http
,我建议将其简化为:$('video')。attr('src',function(I,s){return s.replace(“https”,“http”);
(无需调用.attr()
两次,attr()
已返回字符串,因此无需toString()
)。谢谢,David!删除了toString()它在我的示例中仍然有效,但我无法让它与我端的函数一起工作。如果您绝对确定原始src
始终以https
开头,则通常使用此选项。只有在您绝对确定原始src
始终以https
开头时,才使用此选项。评论很好。我'我没有更改iframe的内容,但将用作变量,clone
ing或prepend
ing将其添加到父div。评论不错。我没有更改iframe的内容,但将用作变量,clone
ing或prepend
ing将其添加到父div。