如何使用Greasemonkey更改帧src?

时间:2014-06-14 16:27:01

标签: greasemonkey

我访问了一个页面并在这样的框架上显示给我

<iframe src="link" id="pgl" class="surfer_frame" frameborder = "0" onload="showadbar('')"></iframe>

我想使用Greasemonkey更改文本或其他src的src。有人知道吗?

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解你的问题。这太简单了。

只需将&lt; iframe&gt; 元素的 src 属性设置为其他网址。

  

更改文本或其他src的src

如果要直接将内容设置为某些文本,请改用 srcdoc 属性。 srcdoc 的处理优先级高于 src 。您可能希望删除srcdoc属性,以便随后将内容重置为某个URL源。

要获取对&lt; iframe&gt; 元素的引用,您可以使用一些文档方法,例如getElementById,querySelector(CSS选择器),evaluate(XPath表达式), ASO。

<!-- language: lang-js -->
var
  btn,
  ifr = document.querySelector('.surfer_frame')      // get element reference by class name
;

btn = document.createElement('button');              // generate a test button
btn.innerHTML = 'example.com';
btn.addEventListener('click', function()
{ ifr.removeAttribute('srcdoc');                     // remove attribute of higher priority
  ifr.setAttribute('src', 'http://example.com');     // set the new content URL
});
document.body.appendChild(btn);

btn = document.createElement('button');
btn.innerHTML = 'text';
btn.addEventListener('click', function()
{ // directly set some content
  ifr.setAttribute('srcdoc', '<html><body>Here is some content.</body></html>');
});
document.body.appendChild(btn);