[英]creating a javascript bookmarklet with variables declared in page
免责声明:绝对是js的新手。
存在一个页面,该页面具有声明的变量,例如:
c="hello"
cd="12345"
以及一个PHP查看脚本,该脚本使加载的swf仅可“访问”图像(否则将其隐藏在Flash层下):
((("view.php?cid=" + c) + "&cd=") + cd)
所以网址最终看起来像
view.php?cid=hello&cd=12345
可以将其转换为javascript小书签吗?
谢谢
-一种
编辑为Sno0py的清晰度:
这两个页面都不是我的网站。 这是我要为其创建书签的网站。 在页面上,有flashembed.js,可用于多种用途,但在这种情况下,用于制作它,因此您无法右键单击以保存图像(将其制作为电影,并附带一个php视图脚本,将图像放入其中)。
在页面上,有以下html / javascript:
<div id="viewer">
<!-- image is here -->
</div>
<script type="text/javascript">
flashembed("viewer",
{src: "overlay.swf"},
{c: "hello", cd: "123456"}
);
</script>
其中#viewer是在另一个js脚本中指定的,而c&cd是随机生成的图像标识符。
overlay.swf
执行以下操作:
stage.showmenu = false;
loadmovie ((("http://example.com/view.php?cid=" + c) + "&cd=") + cd, _root);
_root.stop();
因此导航到http://example.com/view.php?cid=hello&cd=123456
将产生图像的原始数据。 您可以使用<img src="view.php?cid=hello&cd=123456">
查看它。
因此:我想澄清一下,这是一个JavaScript书签,它抓取c
和cd
,形成网址,并从上面带您到仅包含<img src"yadayada">
的页面。 如果那是不可能的,那么仅将我带到url
就会很好。
如果c
和cd
变量位于页面范围内,则可以简单地使用以下书签:
javascript:document.location = "http://example.com/view.php?cid=" + c + "&cd=" + cd;
但是,事实并非如此。 它们是作为参数传递给函数flashembed
的匿名对象的属性。
如果该函数然后将它们分配给小书签可以访问的范围内的变量,则可以改用这些变量,但我对此表示严重怀疑。
基本上,您剩下的唯一选择就是解析页面的原始HTML( document.documentElement.outerHTML
),最有可能使用正则表达式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.