我使用用户脚本来更改 YouTube 的某些功能,我试图阻止共享链接中的“全选”text field
,它放置了视频地址:
原因是我不需要它https://
,我经常复制/粘贴
文本字段仅在单击按钮后出现在 DOM 中Share。我已经设法focus
使用下面的脚本删除了该属性,但“全选”仍然有效:
// Botón "Share"
$('button[data-trigger-for="action-panel-share"]').on('click', function() {
window.setTimeout (function(){
// Input field con la URL - no hay onclick, pero por si acaso
$("input[name=share_url]").prop('onclick',null).prop('focus',null);
},300);
});
我尝试share_url
在 Firefox JavaScript 调试器中查找它,但我没有找到需要删除以获得所需行为的属性...
作为一种解决方法,我只是尝试替换 的内容input
,但它会自动返回到其原始值(!!!)。
var nueva_url = $("input[name=share_url]").val();
nueva_url = nueva_url.replace('https://','');
$("input[name=share_url]").val(nueva_url);
PS:YT 页面默认不附带 jQuery,但为了测试,可以使用以下脚本通过控制台注入它:
var head = document.getElementsByTagName("head")[0];
var script = document.createElement("script");
script.src = "//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js";
head.appendChild(script);
你可以用
off
.您可以自动执行该过程,而无需担心包含 URL 的文本框的事件(甚至无需担心字段,因为短 URL 也可以在带有 的标记中找到
link
)rel="shortlink"
。除了使用
prompt
您在评论中提到的选项之外,如果您使用的是现代浏览器(Chrome 42+、IE10+、Firefox 41+、Opera 29+,但不是 Safari),您还可以使用 JavaScript 剪贴板 API如何在这个其他问题中指定。jQuery 中的代码很简单:
或者没有jQuery:
现在,您不再需要担心与文本框相关的不同事件,只需单击一下即可实现相同的目标。