我想编写一个js代码,该代码将取消翻译视频名称,
它是从标题复制到视频块名称,但没有10个最后一个字符(不带“-YouTube”)。
当我尝试此代码时(我知道该代码必须是内联的,但是需要更多检查)
javascript:var tttl = document.createElement('script');
document.getElementsByTagName("body")[0].appendChild(tttl);
tttl.innerText = "document.getElementsByClassName(\"style-scope ytd-video-primary-info-renderer\")[5].innerText = document.title.slice(0,-10);";
在浏览器控制台中可以正常工作,但是使用书签(添加书签并在地址中粘贴我的代码)无法正常工作
根据您的问题,似乎您想在浏览youtube.com时执行JavaScript代码。
为此,您需要将代码包装在一个自执行函数中。
javascript:(function(){var tttl = document.createElement('script');
document.getElementsByTagName("body")[0].appendChild(tttl);
tttl.innerText = "document.getElementsByClassName(\"style-scope ytd-video-primary-info-renderer\")[5].innerText = document.title.slice(0,-10);";})();
编辑1:
将此代码包装在自执行函数中的原因是,它定义了执行代码的范围,并且不尝试使用最后一条语句的返回值在DOM上编写。
示例代码可帮助您更好地理解:
javascript:var name;name="Ashish";
由于语句name =“ Ashish”在javascript中返回一个值,如果通过地址栏执行该值,则会在浏览器中显示该值。代码中的最后一条语句也是如此。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句