- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我所属的一个论坛上,我们有大量的主题,最终嵌入了很多 Youtube 视频,很多人在向下滚动页面时发现这很烦人。因此,我想使用 Greasemonkey 为每个视频包装一个剧透,以便每个视频都可以单独打开和观看。
以下是用于一个视频的代码作为示例;
<iframe src="http://www.youtube.com/embed/_IATqru7Sh8?wmode=opaque" allowfullscreen="" frameborder="0" height="300" width="500"></iframe>
我想在它周围封装一些代码,以便每个视频都包含在一个 Javascript 扰流器中,该扰流器有一个单击按钮即可显示视频。
我已经成功地用 Greasemonkey 替换了简单的文本,但这对我来说有点复杂。有人可以帮我解决这个问题吗?谢谢!
最佳答案
利用 jQuery 的强大力量,这并不难。和 the waitForKeyElements utility .
waitForKeyElements
查找带有 youtube.com
的 iframe在他们的 src
。 waitForKeyElements 支持 AJAX。<iframe>
与 <button>
,将 iframe 标记为已找到(在本例中使用 gmSpoiledAlready
类)。.on()
激活所有按钮。单击时,每个按钮都会将其自身替换为其原始 iframe 源。
这是完整的 Greasemonkey 脚本:
// ==UserScript==
// @name _Hide iframed youtube videos
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
introduced in GM 1.0. It restores the sandbox.
*/
waitForKeyElements ("iframe[src*='youtube.com']", hideYoutubeVideo);
function hideYoutubeVideo (jNode) {
if ( ! jNode.hasClass ("gmSpoiledAlready") ) {
jNode.addClass ("gmSpoiledAlready");
var srcCode = jNode[0].outerHTML;
jNode.after ('<button class="gmYT_hide">Show YouTube video</button>');
jNode.next ('button').data ("frmCode", srcCode);
jNode.remove ();
}
}
//--- Activate any and all of the spoiler buttons
$(document.body).on ("click", "button.gmYT_hide", restoreYoutubeVideo)
function restoreYoutubeVideo (evnt) {
var jThis = $(evnt.target);
var frmCode = jThis.data ("frmCode");
jThis.replaceWith (frmCode);
}
关于javascript - Greasemonkey 代码将 Youtube iFrame 放入剧透中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19736009/
如何在 Grav CMS 中剧透(隐藏文本或 block ) Markdown 或插件?官方不剧透markdown和 Markdown Extra (由 Grav 支持)。 我尝试像 this 这样的
我一直在研究 Python Challenge 中提出的问题.其中一个问题要求从一堆字符中筛选出最稀有的字符。 我的方法是从文本文件中读取字符,将字符/出现作为键/值对存储在字典中。按值对字典进行排序
我有一个很大的矩阵 A,它有 1GB 的 double 值,当我将它重新整形为不同的维度时,它的速度快得令人难以置信。 A=rand(128,1024,1024); tic;B=reshape(A,1
好吧,让我解释一下我的意思是哪种“剧透标签”: 在我所在的 phpBB 论坛中,有一个 [剧透] BBCode 隐藏了里面的文本,有一个显示/隐藏的按钮,应该看起来像发布页面中的 prosilver
我在很多记录中都有这个字符串 [spoiler:abcdefgh]。 abcdefgh 是可变字符。我希望它成为 [剧透]。所以我想删除 :abcdefgh。 我知道查询是: UPDATE post
所以我正在尝试参加 Stripe CTF 竞赛,但我对安全性一无所知,所以当我遇到问题时,我查看了问题 3。我仍然不明白它是如何工作的。 黑客攻击的目标是通过使用设置了 SUID 位的应用程序访问不同
我之前曾尝试暴力破解它,但没有成功。这是我的递归尝试#2(第一次使用递归方法)。请帮忙! 发生的情况是这样的:代码运行良好,数字较小,但是当我们达到一百万时,代码就会运行,并且什么也不会发生。在 Ec
我是一名优秀的程序员,十分优秀!