繁体   English   中英

用页面中声明的变量创建一个javascript小书签

[英]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书签,它抓取ccd ,形成网址,并从上面带您到仅包含<img src"yadayada">的页面。 如果那是不可能的,那么仅将我带到url就会很好。

如果ccd变量位于页面范围内,则可以简单地使用以下书签:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM