хорошего способа нет, так как нет способа проверить, что значение в родительском фрейме даже существует , не выдав исключение.
Я только что попробовал несколько вещей, в том числе:
var parentURL = window.parent && window.parent.location && window.parent.location.href;
и не смотря ни на что, оно выдаст исключение из-за той же политики происхождения. тем не менее, вы можете проверить, видите ли вы в iframe
function checkInFrame( arg ){ arg = arg || window; return arg.parent == window; }
но, насколько мне известно, вы должны использовать блок try { ... } catch( ... ) { ... }
(для этого он и нужен).