2014-11-12 3 views
0

В настоящее время я использую следующий сценарий dojo на своем сайте для замены частей всех ссылок, содержащих текст «local-store», с текстом «бекон». В настоящее время это работает, но я хочу теперь разместить его в iframe. Я поставил как скрипт, так и ссылку внутри iframe, но я все еще получаю текст «локального магазина», появляющийся в ссылке.Javascript Dojo/Javascript - Как заменить ссылку внутри iframe

<iframe> 
<!DOCTYPE html> 
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"> 
<head></head> 
<body> 
<script type="text/javascript"> 
require(["dojo/ready", "dojo/query", "dojo/topic", "dojo/domReady!"], function(ready, query, topic, analytics){ 
ready(function(){ 
dojo.query('a[href*="local-store"]').forEach(function(link){ 
var href = link.href; 
href = href.replace("local-store", "bacon"); 
link.setAttribute('href', href); 
    }); 
}); 
}); 
</script> 

<div> 
<a href="http://domain.com/local-store/category" target="_parent">test link</a> 
</div> 

</body> 
</iframe> 

Любые идеи, почему это не работает? Благодаря

ответ

0

Возможно контекст корневого документа, попытайтесь изменить его или использовать withDoc:

require(["dojo/dom", "dojo/_base/window"], function(dom, win) { 
    var iframe = dom.byId('iframe').contentWindow; 
    win.setContext(iframe.window, iframe.window.document); 
    /* your query here */ 

    /* ------------------ */ 
    /* Alternatively */ 
    /* ------------------ */ 

    var iframeDoc = dom.byId("someFrameId").contentWindow.document; 
    win.withDoc(iframeDoc, function(){ 
     /* your query here */ 
    }, this)); 
}); 
+0

Я не могу получить эту работу, но это может быть просто из-за мое ограниченное понимание додзё :/ Благодаря – dust

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