2013-10-01 3 views
1

У меня есть IFRAME внутри страницы ASPX так:Silverlight содержание не работает в IFRAME

каталог
<iframe id="mapFrame" name="mapFrame" src="project/visioMap.htm" frameborder="0" width="100%" height="900px" runat="server" /> 

Проект имеет содержание веб-страницы, экспортируемую Visio. Я хочу внедрить этот контент в .NET-сайт без изменения содержимого, экспортированного Visio (т.е.. * .htm, * .js, * .xaml). Вот почему я пытаюсь внедрить, используя тег iframe.

Однако, когда страница загружается, она падает с ошибкой:

TypeError: parent.parent.FindShapeXML is not a function 
var shapeNode = parent.parent.FindShapeXML (pageID, shapeID); // in a *.js file 

Эта ошибка в * .js файл экспортированного Visio, но, как я уже сказал, я не хочу, чтобы редактировать любой из файлов, экспортированных Visio. Если я просто открою visioMap.htm, все будет хорошо, поэтому iframe, указывающий на него, по умолчанию будет работать нормально.

По-видимому, parent.parent имеет другое значение, когда я открываю visioMap.htm (который имеет с 2 кадрами) непосредственно в браузере, и когда я открыто открываю visioMap.htm в браузере через iframe.

+0

Мы испытываем эту же проблему. Вы нашли решение? У нас есть visio как html-файлы, которые работают, но если мы повторно опубликуем с использованием неизмененных файлов vsd, они начнут ломаться именно с этой ошибкой ... – JCleveland

+0

Также у вас есть временные рамки, в которых вы можете быть уверены, что это началось? Мы его сузились до 8/21/2013-10/1/2013 и подозреваем обновление безопасности. Странно, но, учитывая старые версии, все еще работают до тех пор, пока они не будут опубликованы. – JCleveland

+0

@ JCleveland вы нашли решение? Я ударяю головой о клавиатуру ... очень мало внимания на этом онлайн ... любая помощь будет очень высоко оценена! – Adam

ответ

1

В диалоговом окне настроек «Взаимодействие с Интернетом Visio» есть опция «Host in Web page».

enter image description here

По умолчанию его значение равно "None". Вы можете выбрать здесь веб-страницу, в которую вы хотели бы встроить опубликованный контент. Затем он будет помещен в на этой странице. Кроме того, выберите «Базовый», чтобы иметь базовую веб-страницу, созданную с , в которой хранится опубликованный контент. Эта страница HTML выглядит следующим образом:

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
     <title></title> 
    </head> 
    <iframe src="[Your visio file name]_main_2.htm" width="100%" height="100%" frameborder="1" scrolling="auto"> 
     <!-- No iframesupport --> 
    </iframe> 
</html> 

Вы можете использовать эту страницу непосредственно или указать ваш на «[Ваше Визио имя файла] _main_2.htm» ссылка на эту страницу.

+0

Я задал этот вопрос некоторое время назад. В конце концов я закончил использование плагина Javascript под названием panzoom для создания рабочего решения. Я не был тем, кто экспортировал контент из Visio, поэтому я отмечаю это как ответ, но заметьте, что я на самом деле не тестировал это. Спасибо за ваш ответ около 3 лет спустя :) –

Смежные вопросы