【问题标题】:YouTube Userscript (TamperMonkey) to change the placeholder in SearchYouTube 用户脚本 (TamperMonkey) 更改搜索中的占位符
【发布时间】:2019-06-20 07:02:43
【问题描述】:

我正在用用户脚本为 TamperMonkey 编写主题以主题 YouTube,我遇到的问题是更改字体颜色和搜索字段中占位符“搜索”的内容。

在用户脚本中执行此操作的最佳方法是什么?

【问题讨论】:

  • 问题是它在导航时重置?如果是这样,请使用yt-navigate-start 无缝完成,没有闪烁。

标签: javascript input placeholder tampermonkey userscripts


【解决方案1】:

您可以使用 CSS 更改占位符的颜色。重要的是,@grant 的值是 GM_addStyle 而不是 none

然后你可以像下面的例子一样添加样式。

使用document.querySelector('input#search').placeholder = 'new placeholder text';,您可以为占位符设置新文本。

@wOxxOm 感谢 youtube 活动的提示。 yt-navigate-start 事件来得早,但是在 yt-navigate-finish 事件和 200 毫秒的延迟下它可以工作。

// ==UserScript==
// @name         YouTube Search
// @namespace     https://www.youtube.com
// @include     https://www.youtube.com/*
// @run-at document-end
// @grant        GM_addStyle
// ==/UserScript==

GM_addStyle(`
::placeholder {
color: red;
opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
color: red;
}

::-ms-input-placeholder { /* Microsoft Edge */
color: red;
}
`);

(function() {
    'use strict';

    document.querySelector('input#search').placeholder = 'new placeholder text';

    document.addEventListener('yt-navigate-finish', () => {
        setTimeout(() => {
            document.querySelector('input#search').placeholder = 'new placeholder text';
        },200);
    });
})();

【讨论】:

  • 谢谢,成功了!我试图投票,但我没有声誉......
猜你喜欢
  • 2019-02-25
  • 1970-01-01
  • 2014-12-14
  • 2017-02-10
  • 1970-01-01
  • 2020-02-22
  • 1970-01-01
  • 2011-07-29
  • 1970-01-01
相关资源
最近更新 更多