Значение передачи к iframe из окна

sscanf(buffer, any_format_without_width, &anytype); недостаточно , недостаточно для обнаружения переполнения.

, если результат преобразования не может быть представлен в объекте, поведение не определено. C11dr §7.21.6.2 10

Не используйте семейство *scanf() для обнаружения переполнения. Это может работать в некоторых случаях, но не в целом.


Вместо этого используйте функции strto**(). Тем не менее, даже ОП isInt() неправильно закодированы, поскольку неправильно оценивают isInt("\n"), isInt(""), isInt("999..various large values ...999") как хорошие int с.

Альтернатива:

bool isint_alt(const char *s) {
  char *endptr;
  errno = 0;
  long y = strtol(s, &endptr, 10);

  if (s == endptr) {
    return false; // No conversion
  }

  if (errno == ERANGE) {
    return false; // Outside long range
  }

  if (y < INT_MIN || y > INT_MAX) {
    return false; // Outside int range
  }

  // Ignore trailing white space
  while (isspace((unsigned char)*endptr)) {
    endptr++;
  }

  if (*endptr) {
    return false; // Trailing junk
  }

  return true;
}
51
задан Keyslinger 15 May 2018 в 05:56
поделиться

5 ответов

Во-первых, необходимо понять, что у Вас есть два документа: кадр и контейнер (который содержит кадр).

основное препятствие с управлением кадром от контейнера состоит в том, что кадр загружается асинхронно. Вы не можете просто получить доступ к нему никакое время, необходимо знать, когда это закончило загружаться. Таким образом, Вам нужен прием. Обычное решение состоит в том, чтобы использовать window.parent в кадре для подъема (в документ, который содержит эти iframe тег).

Теперь можно назвать любой метод в документе-контейнере. Этот метод может управлять кадром (например, называют некоторый JavaScript в кадр с параметрами, в которых Вы нуждаетесь). Для знания, когда назвать метод у Вас есть две опции:

  1. Вызов это от body.onload кадра.

  2. Помещенный элемент сценария как последняя вещь в содержимое HTML кадра, где Вы называете метод контейнера (оставленным как осуществление для читателя).

, Таким образом, кадр похож на это:

<script>
function init() { window.parent.setUpFrame(); return true; }
function yourMethod(arg) { ... }
</script>
<body onload="init();">...</body>

И контейнер как это:

<script>
function setUpFrame() { 
    var frame = window.frames['frame-id'];
    frame.yourMethod('hello');
}
</script>
<body><iframe name="frame-id" src="..."></iframe></body>
66
ответ дан Aaron Digulla 7 November 2019 в 09:43
поделиться

Зависит от Вашей определенной ситуации, но если iframe может быть развернут после остальная часть загрузки страницы, можно просто использовать строку запроса, а-ля:

<iframe src="some_page.html?somedata=5&more=bacon"></iframe>

И затем где-нибудь в some_page.html:

<script>
var params = location.href.split('?')[1].split('&');
data = {};
for (x in params)
 {
data[params[x].split('=')[0]] = params[x].split('=')[1];
 }
</script>
56
ответ дан Hexagon Theory 7 November 2019 в 09:43
поделиться

Используйте набор кадров .

Из ссылки:

var frames = window.frames; // or // var frames = window.parent.frames;
for (var i = 0; i < frames.length; i++) { 
  // do something with each subframe as frames[i]
  frames[i].document.body.style.background = "red";
}

, Если iframe имеет имя, можно также сделать следующее:

window.frames['ponies'].number_of_ponies = 7;

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

15
ответ дан wombleton 7 November 2019 в 09:43
поделиться

Взгляните на ссылку ниже, которая предполагает, что возможно изменить содержание iFrame в Вашей странице с JavaScript, хотя Вы, скорее всего, столкнетесь с несколькими перекрестными проблемами браузера. Если можно сделать это, можно использовать JavaScript на странице для добавления скрытых dom элементов к iFrame, содержащему значения, которые может считать iFrame. Доступ к документу в iFrame

0
ответ дан Gcoop 7 November 2019 в 09:43
поделиться

То, что необходимо сделать, должно добавить значения как параметры в iframe src (URL).

, Например, <iframe src="some_page.php?somedata=5&more=bacon"></iframe>

И затем в some_page.php файл Вы используете php

То, что необходимо сделать, должно добавить значения как параметры в iframe src (URL).

, Например, [110]

И затем в [111] файл Вы используете [112] для получения его от iframe URL. NB: Iframes, выполненный как отдельное окно браузера в Вашем файле.

GET['somedata']
для получения его от iframe URL. NB: Iframes, выполненный как отдельное окно браузера в Вашем файле.

0
ответ дан 7 November 2019 в 09:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: