2015-06-30 6 views
4

просто ищем некоторую помощь по моей проблеме. Прежде всего я причудливый новичок в CSS/разработке кода, поэтому, пожалуйста, расскажите мне обо мне. Мне было поручено использовать этот подход на сайте SharePoint 2013. Итак, здесь идет ...добавление/изменение css на странице Iframe

Справочная информация: - У меня есть страница на сайте SharePoint 2013, в которой есть веб-страница «Редактор контента», отображающая страницу из того же семейства доменов/сайтов. Ниже код (который не мой) я разместил в редакторе содержимого, и он отображает всю страницу.

выпуск - Мое требование состоит в том, чтобы «удалить globalnav» со страницы в редакторе содержимого, который, как я полагаю, использует iframe. Теперь я могу использовать инструменты F12 dev с IE11 и найти класс CSS, который является следующим: ms-dialog #globalNavBox и установить отображение на «none» Это именно то, как я хочу, чтобы он выглядел.

Единственное, что я не знаю, как достичь здесь, - это как это сделать, используя какой-то код на странице, отображающей встроенную страницу. ??

это код, который я использую в редакторе содержимого для отображения моей страницы, которую я хочу изменить.

#mydiv{ 

width:1280px; height:1000px; 
overflow:hidden; 
; 
} 

#myframe{ 
; 
top:-190px; 
left:-100px; 
width:1080px; 
height:1000px; 

} 
</style> 
<div id="mydiv"> 
<iframe id="myframe" src="/gen/genInduction/Lists...blah scrolling="no"></iframe>&#160;</div> 

теперь я понятия не имею, как добавить в коде (если возможно), чтобы удалить CSS .ms-диалог #globalNavBox {дисплей: нет;} так, что при отображении страницы по GlobalNav является удален.

Надеюсь, это имеет смысл, поскольку это первый раз, когда я использовал этот сайт, чтобы задать вопрос. Я также искал бесконечно, прежде чем задал этот вопрос, и попробовал разные вещи, чтобы сделать эту работу, но я просто не могу понять, как это сделать.

Благодарим за помощь.

+1

у вас есть нет доступа к коду внутри iframe, если только это код, который вы вручную вводили (и иметь доступ к iframe contentWindow и contentDocument). Если вы загружаете сайт с другого URL-адреса в качестве встроенного содержимого в iframe: конец. Вы ничего не можете сделать из-за безопасности. –

+0

Yup, как указано в сообщении @Mike 'Pomax' Камерманс, не может быть сделано, если ваш iFrame не загружается из того же домена, что и ваш текущий сайт. –

ответ

1

Поместите следующий на странице после Функции Iframe

<script> 
document.getElementById("myframe").contentDocument.getElementById("globalNavBox").style.display="none"; 
</script> 
+0

истинная, справедливая точка –

1

Я считаю, что вы все еще будете иметь возможность получить доступ к содержимому в IFrame, так как они оба принадлежат к одной и той же области, если IFrame не песочнице (что пример ясно показывает, что это не так). Добавляя гладкий оптимизированный ответ JBiserkov, это затронет некоторые проблемы с загрузкой iframe. Во многих случаях iframe может немного опоздать на вечеринку, поэтому вы должны быть готовы к этому. Следующие ссылки помогли мне понять: Iframes

Iframes, Onload, and Document.domain

Iframe Tutorials

-Reference к IFRAME

var iFrame = document.getElementById('myframe'), 

-Reference к документу объекте IFrame в

-Этот сокращенная условное выражение является ключом к доступу к любому контенту внутри страницы iframed.

iDoc = iFrame.contentDocument ? iFrame.contentDocument : iFrame.contentWindow.document, 

-Reference к целевому элементу #globalNavBox

gNav = iDoc.getElementById('globalNavBox'); 

-Когда IFrame загружен, возьмите стиль globalNavBox на "дисплей" и установите "нет"

iframe.onload = function() { 
     gNav.style.display = 'none'; 
}; 
Смежные вопросы