我仍在尝试解决在网站上显示图像而不将图像设为外部的问题。由于数据:方案不适用于较旧的浏览器或大图像,我目前正在尝试使用Silverlight。
我设法通过Base64解码嵌入编码图像并使用InitParams传递它,但实际上我只是把我的问题移开了:我现在有一个外部XAP文件而不是外部图像...
有没有办法获取XAP文件并以某种方式将其嵌入HTML中?或者,我可以在这种情况下使用基于JavaScript的Silverlight 1.1吗?它实际上只是显示一个以字符串形式传递的图像。
答案 0 :(得分:1)
对于你想要做的事情,听起来你可能想看看Sam Ruby的SVG with XAML fallback,它在支持它的浏览器中显示SVG,并在IE中通过Silverlight呈现。
您可以像这样内联XAML(来源:MSDN):
<html>
<head>
<title>Display Date</title>
<!-- Define Loaded event handler for TextBlock. -->
<script type="text/javascript">
function setDate(sender, eventArgs)
{
sender.text = Date();
}
</script>
</head>
<body bgcolor="Teal">
<!-- Define XAML content. -->
<script type="text/xaml" id="xamlContent"><?xml version="1.0"?>
<Canvas
xmlns="http://schemas.microsoft.com/client/2007"
Background="Wheat">
<TextBlock
Canvas.Left="20"
FontSize="24"
Loaded="setDate" />
</Canvas>
</script>
<div id="silverlightControlHost">
<object type="application/x-silverlight" width="100%" height="100%" id="slc">
<param name="source" value="#xamlContent"/>
<param name="onload" value="onLoaded" />
<param name="iswindowless" value="true" />
</object>
<iframe style='visibility:hidden;height:0;width:0;border:0px'></iframe>
</div>
</body>
</html>
请注意,Firefox 2有一个bugzilla 356095的错误(prevented using this with XHTML DOCTYPE)。我相信这可能是固定的。