我有以下 iframe 控件(旨在成为类似 facebook 的按钮):
<iframe id="likeButton"
src="http://www.facebook.com/plugins/like.php?href="
scrolling="no"
frameborder="0"
style="border:none; overflow:hidden;
width:450px; height:80px;"
onprerender="setupLink()"
</iframe>
我在上面定义了 javascript 函数,如下所示:
<script type="text/javascript">
function setupLink()
{
var iframe = $("#likeButton");
var newSrc = iframe.attr("src");
newSrc += encodeURIComponent(location.href) + lblKey.Text;
iframe.attr("src", newSrc);
};
</script>
lblKey 是 ASP.NET 页面上的一个标签,引用页面的特定部分。然而,据我所知,这个函数不会被调用(如果我在开头放置一个alert(),它不会产生任何结果)。我是 javascript 新手,但浏览网络上的一些文章表明这应该更新 iframe 上的 src 属性。
EDIT:
我还尝试过以下方法:
<script type="text/javascript" >
$(function() {
var iframe = $("#likeButton");
var newSrc = iframe.attr("src");
newSrc += encodeURIComponent(location.href) + '<%= lblKey.Text %>';
iframe.attr("src", newSrc);
});
</script>
这不起作用,但也不起作用:
<script type="text/javascript" >
$(function() {
alert('Hello');
});
</script>
asp.net 事件(如预渲染)不适用于其他任何地方(如 javascript)
假设您使用的是 jquery,我会将其包装在 $() 中,这是“一旦页面加载到足以开始操作它就执行以下操作”的简写。另外,asp.net 控件具有与 dom 元素不同的 api,因此如果您想使用该 api,则需要将其包装在 scriptlet 标记中
<script type="text/javascript">
$(function ()
{
var iframe = $("#likeButton");
var newSrc = iframe.attr("src");
newSrc += encodeURIComponent(location.href) + "<%= lblKey.Text %>";
iframe.attr("src", newSrc);
});
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)